FR2806184A1 - Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking - Google Patents
Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking Download PDFInfo
- Publication number
- FR2806184A1 FR2806184A1 FR0017327A FR0017327A FR2806184A1 FR 2806184 A1 FR2806184 A1 FR 2806184A1 FR 0017327 A FR0017327 A FR 0017327A FR 0017327 A FR0017327 A FR 0017327A FR 2806184 A1 FR2806184 A1 FR 2806184A1
- Authority
- FR
- France
- Prior art keywords
- page
- user
- links
- link
- added
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9562—Bookmark management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
<Desc/Clms Page number 1> <Desc / Clms Page number 1>
La présente invention concerne d'une façon générale un systèmes de navigation mis en #uvre dans un système informatique pour accéder à des pages fournies notamment par des serveurs via un réseau informatique. The present invention generally relates to a navigation system implemented in a computer system for accessing pages provided in particular by servers via a computer network.
Elle concerne plus précisément des nouvelles fonctionnalités ajoutés à un navigateur Internet. It more specifically concerns new features added to an Internet browser.
Classiquement, un outil de navigation sur l'Internet comprend des moyens pour accéder à des pages en langage HTML ou autre, soit par saisie directe de l'adresse URL de la page à atteindre, soit en cliquant à l'aide du bouton d'une souris sur un lien contenu dans une page, qui pointe vers une autre page. Conventionally, a tool for browsing the Internet includes means for accessing pages in HTML or other language, either by directly entering the URL of the page to be reached, or by clicking with the help of the button. a mouse on a link contained in a page, which points to another page.
On connaît également les techniques de signets , marque-pages , favoris , etc. qui permettent à un utilisateur, lorsqu'il consulte une page courante, de mémoriser et de classer, dans une structure arborescente de répertoires ou dossiers, des liens vers ces pages, qui permettront à l'utilisateur, dans le futur, d'accéder à nouveau à ces pages par un simple clic de souris après avoir le cas échéant ouvert le répertoire correspondant. We also know the techniques of bookmarks, bookmarks, favorites, etc. which allow a user, when viewing a current page, to store and classify, in a tree structure of directories or folders, links to these pages, which will allow the user, in the future, to access new to these pages by a simple mouse click after having opened the corresponding directory if necessary.
Il existe par ailleurs dans les navigateurs classiques un outil (typiquement des boutons précédent et suivant activables par souris) , le bouton précédent permettant à un utilisateur de parcourir pas à pas le chemin inverse de celui qu'il vient de parcourir d'une page à l'autre au cours de sa navigation, ce chemin inverse étant toutefois limité typiquement à une dizaine de retours en arrière. There is also a tool in conventional browsers (typically previous and next mouse-activated buttons), the previous button allowing a user to step through the opposite path from the one he has just traveled from one page to the next. the other during its navigation, this reverse path is, however, typically limited to a dozen returns.
Cette possibilité de parcourir des chemins inverses est basée sur une mémoire temporaire, au niveau du navigateur du poste client, contenant les N dernières adresses des pages sucessivement parcourues. This ability to browse in reverse paths is based on a temporary memory at the browser client node, containing the last N addresses of pages successively browsed.
On comprend que cette technique connue de navigation en arrière est extrêmement rudimentaire. It is understood that this known technique of backward navigation is extremely rudimentary.
La présente invention a pour objet d'enrichir significativement, et le cas échéant sélectivement, les possibilités de navigation par exemple d'un internaute, et d'exploiter de The object of the present invention is to significantly enrich, and where appropriate selectively, the browsing possibilities of, for example, a user, and to exploit
<Desc/Clms Page number 2><Desc / Clms Page number 2>
façon plus pérenne les parcours antérieurs de navigation d'un utilisateur pour qu'il puisse les mettre à profit au cours d'une navigation courante. more durable way of browsing a user so that he can use them during a current navigation.
Ainsi l'invention propose un système de navigation mis en #uvre dans un système informatique pour accéder au niveau d'un poste client à des pages fournies notamment par des serveurs via un réseau informatique par activation de liens, caractérisé en ce qu'il comprend en combinaison : des moyens de détection de l'existence d'un lien d'une page d'origine consultée vers une page de destination consultée, des moyens de mémorisation d'une information d'identification de ladite page de destination consultée et, en association avec ladite information d'identification, d'une information d'identification de ladite page d'origine consultée, et des moyens d'affichage de liens inverses aptes, lorsqu'un poste client connecté au système accède ladite page de destination, à utiliser l'information d'identification de ladite page de destination pour retrouver dans lesdits moyens de mémorisation l'information d'identification de ladite page d'origine et pour afficher sur le poste client en association avec ladite page de destination, un élément activable constituant un lien vers ladite page d'origine. Thus, the invention proposes a navigation system implemented in a computer system for accessing, at the level of a client station, pages provided notably by servers via a computer network by activation of links, characterized in that it comprises in combination: means for detecting the existence of a link of an original page consulted towards a visited landing page, means for storing identification information of said visited landing page and, in association with said identification information, identification information of said original page accessed, and means for displaying reverse links capable, when a client station connected to the system accesses said landing page, to use the identification information of said landing page to find in said storage means the identification information of said original page and to display on the client station in association with said landing page, an activatable element constituting a link to said original page.
Des aspects préférés, mais non limitatifs, du système selon l'invention sont les suivants : - les moyens de détection sont aptes à détecter une action de souris sur un lien vers ladite page de destination, contenu dans la page d'origine consultée ou associé à elle. Preferred, but not limiting, aspects of the system according to the invention are the following: the detection means are able to detect a mouse action on a link to said landing page, contained in the consulted or associated original page to her.
- les moyens d'affichage de liens inverses sont aptes à afficher sur le poste client une pluralité d'éléments activables constituant des liens vers une pluralité de pages d'origine différentes. the means for displaying reverse links are able to display on the client station a plurality of activatable elements constituting links to a plurality of different original pages.
- les moyens d'affichage de liens inverses sont aptes à n'afficher que des éléments activables constituant des liens vers des pages sélectionnées pour leurs caractéristiques de contenu par rapport à un profil de l'utilisateur du poste client. the means for displaying reverse links are able to display only activatable elements constituting links to pages selected for their content characteristics with respect to a profile of the user of the client station.
<Desc/Clms Page number 3> <Desc / Clms Page number 3>
- les moyens de mémorisation sont aptes à mémoriser des informations d'identification de pages d'origine en association avec des informations d'identification de pages de destination sur une base utilisateur par utilisateur, tandis que les moyens d'affichage de liens inverses sont aptes à retrouver dans lesdits moyens de mémorisation les informations d'identification des pages d'origine en utilisant également une information d'identification de l'utilisateur. the storage means are able to store original page identification information in association with landing page identification information on a user-by-user basis, whereas the reverse link display means are capable of recovering in said storage means the identification information of the original pages also using a user identification information.
- les moyens de mémorisation sont aptes à mémoriser, pour chaque utilisateur qui consulte une page de destination par l'activation d'un lien associé à une page d'origine, l'information d'identification de ladite page d'origine en association avec l'information d'identification de ladite page de destination et ladite information d'identification de l'utilisateur. the storage means are able to store, for each user who consults a landing page by activating a link associated with an original page, the identification information of said original page in association with the identification information of said landing page and said user identification information.
- le système comprend en outre des moyens de suppression aptes, au moins lors du premier affichage d'éléments activables, à supprimer à l'initiative de l'utilisateur l'affichage d'au moins un élément activable. - The system further comprises deletion means adapted, at least during the first display of activatable elements, delete at the initiative of the user the display of at least one activatable element.
- il est prévu des moyens aptes, lors de la suppression d'un élément activable par l'utilisateur, à supprimer, dans les moyens de mémorisation, l'information d'identification de la page d'origine concernée par ledit élément activable en association avec l'information d'identification de la page de destination. - means are provided for, when deleting an activatable element by the user, to delete, in the storage means, the identification information of the original page concerned by said activatable element in association with the landing page credentials.
- les moyens d'affichage de liens inverses sont aptes à afficher dans un état suggéré les éléments activables des liens correspondants vers les pages d'origine, tandis qu'il est prévu en outre des moyens de modification d'état aptes, lors de chaque affichage d'un élément activable dans l'état suggéré, à faire passer à l'intiative de l'utilisateur ledit élément activable dans un état accepté ou dans un état refusé. the means for displaying reverse links are able to display, in a suggested state, the activatable elements of the corresponding links towards the original pages, while furthermore, provision is made for means of modifying the state that are suitable for each displaying an activatable element in the suggested state, to cause the user to initiate said activatable element in an accepted state or a denied state.
- les moyens de modification d'état sont également aptes à faire passer à l'intiative de l'utilisateur le lien correspondant dans un état gelé, tandis qu'il est prévu des moyens pour mémoriser la page d'origine correspondante dans son état courant et pour permettre l'accès à ladite page d'origine mémorisée dans son état courant à partir de l'élément activable correspondant. - The state modification means are also able to pass to the user intiative the corresponding link in a frozen state, while there is provided means for storing the corresponding original page in its current state and to allow access to said original page stored in its current state from the corresponding activatable element.
<Desc/Clms Page number 4><Desc / Clms Page number 4>
- les moyens d'affichage de liens inverses sont aptes à afficher les éléments activables dans au moins une zone d'affichage contenue dans la page de destination. the means for displaying reverse links are able to display the activatable elements in at least one display area contained in the landing page.
- les moyens d'affichage de liens inverses sont aptes à afficher les éléments activables de façon adjacente à une zone d'affichage occupée par la page de destination. the means for displaying reverse links are able to display the activatable elements adjacent to a display area occupied by the landing page.
- lesdits éléments activables sont constitués par des représentations miniaturisées des pages d'origine correspondantes. said activatable elements are constituted by miniaturized representations of the corresponding original pages.
- les moyens d'affichage sont également aptes à afficher, en association avec ladite page de destination consultée, une pluralité d'éléments activables constituant une pluralité de liens qui étaient contenus dans (ou associés à) la page d'origine. - The display means are also able to display, in association with said visited landing page, a plurality of activatable elements constituting a plurality of links that were contained in (or associated with) the original page.
- les moyens d'affichage sont également aptes à afficher, en association avec une autre page consultée par activation de l'un des éléments activables de ladite pluralité, un élément activable constituant un lien vers ladite page d'origine. - The display means are also able to display, in association with another page accessed by activating one of the activatable elements of said plurality, an activatable element constituting a link to said original page.
- les moyens de détection de liens sont aptes à détecter l'existence d'un lien d'une page d'origine vers une page de destination via une ou plusieurs pages intermédiaires. the means for detecting links are able to detect the existence of a link from an original page to a landing page via one or more intermediate pages.
Selon un deuxième aspect, la présente invention propose un p rocédé de navigation mis en #uvre dans un poste informatique client pour accéder à des pages fournies notamment par des serveurs via un réseau informatique par activation de liens et pour afficher lesdites pages, caractérisé en ce qu'il comprend les étapes suivantes : - lors de la consultation d'une page courante, la consultation locale ou à distance de moyens de mémorisation d'une table de liens inverses contenant, en association avec une information d'identification de ladite page courante, des informations d'identification d'une ou plusieurs pages sources possédant des liens vers ladite page courante, et - des moyens d'affichage de liens inverses aptes, à partir desdites informations d'identification consultées, à afficher en association avec l'affichage de ladite page courante des éléments activables constituant autant de liens vers la ou les pages sources. According to a second aspect, the present invention proposes a navigation method implemented in a client computer station for accessing pages provided in particular by servers via a computer network by activating links and for displaying said pages, characterized in that it comprises the following steps: - when viewing a current page, the local or remote consultation means for storing a reverse link table containing, in association with identification information of said current page , identification information of one or more source pages having links to said current page, and - means of displaying reverse links able, from said identification information consulted, to be displayed in association with the display of said current page of the activatable elements constituting as many links to the source page or pages.
Des aspects préférés mais non limitatifs de ce procédé sont les suivants : Preferred but nonlimiting aspects of this method are the following:
<Desc/Clms Page number 5><Desc / Clms Page number 5>
- les informations d'identification des pages sources dans ladite table de liens inverses sont déterminées par la détection préalable d'une action de souris, dans une page source, sur un lien vers ladite page courante. the credentials of the source pages in said reverse link table are determined by the prior detection of a mouse action, in a source page, on a link to said current page.
- le procédé comprend en outre une étape de sélection, parmi les pages sources désignées par lesdites informations d'identification de pages sources, des seules pages sources possédant des caractéristiques de contenu déterminées par rapport à un profil de l'utilisateur du poste client, et l'étape d'affichage comprend l'affichage des seuls éléments activables constituant des liens vers lesdites pages sources sélectionnées. the method further comprises a step of selecting, from among the source pages designated by said source page identification information, only the source pages having content characteristics determined with respect to a profile of the user of the client station, and the display step comprises displaying only the activatable elements constituting links to said selected source pages.
- les moyens de mémorisation comprennent une pluralité de tables de liens inverses identifiées, correspondant à une pluralité d'utilisateurs, et l'étape de consultation des moyens de mémorisation s'effectue en utilisant une information d'identification de l'utilisateur. the storage means comprise a plurality of identified reverse link tables, corresponding to a plurality of users, and the step of consulting the storage means is performed using user identification information.
- les moyens de mémorisation comprennent une table de liens unique contenant des informations d'identification de pages sources en association avec l'information d'identification de ladite page courante et avec une information d'identification de l'utilisateur. the storage means comprise a unique link table containing source page identification information in association with the identification information of said current page and with user identification information.
- les moyens de mémorisation sont contenus dans un serveur accessible par réseau à partir du poste client. - The storage means are contained in a server accessible by network from the client station.
- le procédé comprend en outre une étape de suppression apte, au moins lors du premier affichage d'un élément activable, à supprimer à l'initiative de l'utilisateur l'affichage dudit élément activable. - The method further comprises a deletion step adapted, at least during the first display of an activatable element, delete at the initiative of the user the display of said activatable element.
- l'étape de suppression comprend, lors de la suppression d'un élément activable par l'utilisateur, la suppression, dans les moyens de mémorisation, de l'information d'identification de la page source concernée par ledit élément activable en association avec l'information d'identification de la page courante pour l'utilisateur concerné. the deletion step comprises, during the deletion of an activatable element by the user, the deletion, in the storage means, of the identification information of the source page concerned by said activatable element in association with the identification information of the current page for the user concerned.
<Desc/Clms Page number 6> <Desc / Clms Page number 6>
- l'étape d'affichage de liens inverses comprend l'affichage dans un état suggéré des éléments activables des liens correspondants vers les pages sources, et le procédé comprend en outre une étape de modification d'état de lien inverse pour, lors de chaque affichage d'un élément activable dans l'état suggéré, faire passer à l'intiative de l'utilisateur ledit élément activable dans un état accepté ou dans un état refusé. the step of displaying reverse links comprises displaying, in a suggested state, activatable elements of the corresponding links to the source pages, and the method furthermore comprises a reverse link state modification step for each displaying an activatable element in the suggested state, passing to the user's initiative said activatable element in an accepted state or a denied state.
- l'étape de modification d'état de lien inverse comprend également le passage, à l'intiative de l'utilisateur, du lien correspondant dans un état gelé, et le procédé comprend en outre une étape de mémorisation du contenu de la page source correspondante dans son état courant, pour permettre l'accès à ladite page source mémorisée dans son état courant à partir de l'élément activable correspondant. the step of modifying reverse link state also comprises the passage, at the user's initiative, of the corresponding link in a frozen state, and the method further comprises a step of storing the content of the source page corresponding in its current state, to allow access to said source page stored in its current state from the corresponding activatable element.
- l'étape d'affichage de liens inverses comprend l'affichage des éléments activables dans au moins une zone d'affichage contenue dans la page courante. the step of displaying reverse links comprises displaying the elements that can be activated in at least one display area contained in the current page.
- l'étape d'affichage de liens inverses comprend l'affichage des éléments activables de façon adjacente à une zone d'affichage occupée par la page courante. the step of displaying reverse links comprises displaying the activatable elements adjacent to a display area occupied by the current page.
- lesdits éléments activables sont constitués par des représentations miniaturisées des pages d'origine correspondantes. said activatable elements are constituted by miniaturized representations of the corresponding original pages.
- l'étape d'affichage comprend également l'affichage, en association avec ladite page courante, d'une pluralité d'éléments activables constituant une pluralité de liens inverses qui étaient associés à au moins une page en amont de la page courante. - The display step also comprises displaying, in association with said current page, a plurality of activatable elements constituting a plurality of reverse links which were associated with at least one page upstream of the current page.
- l'étape d'affichage comprend également l'affichage, en association avec ladite page courante, d'une pluralité d'éléments activables constituant une pluralité de liens vers des pages vers lesquelles pointent des liens contenus dans au moins une page en amont de la page courante. the display step also comprises displaying, in association with said current page, a plurality of activatable elements constituting a plurality of links to pages to which links link in at least one page upstream of the current page.
- les moyens de mémorisation comprennent en outre une information d'identification d'au moins une page source de niveau supérieur, contenant un lien direct, ou par l'intermédiaire d'au moins une autre page, vers au moins l'une des pages sources identifiées en association the storage means furthermore comprise information identifying at least one higher level source page, containing a direct link, or via at least one other page, to at least one of the pages sources identified in association
<Desc/Clms Page number 7><Desc / Clms Page number 7>
avec la page courante, et l'étape d'affichage comprend l'affichage d'éléments activables constituant autant de liens vers les pages sources de niveau supérieur. with the current page, and the display step includes displaying activatable elements constituting as many links to the top-level source pages.
D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante d'une forme de réalisation préférée de celle-ci, donnée à titre d'exemple non limitatifet faite en référence aux dessins annexés. Other aspects, objects and advantages of the present invention will become more apparent upon reading the following detailed description of a preferred embodiment thereof, given by way of non-limiting example and with reference to the accompanying drawings.
Introduction de la description On va présenter dans la suite dans quatre chapitres, différents systèmes et procédés liés entre eux. Introduction of the description We will present in the following in four chapters, different systems and processes related to each other.
Le chapitre 1 vise en particulier des perfectionnements à la gestion de l'affichage sur écran d'éléments graphiques tels que des pages de la Toile, des parties de pages ou encore des fenêtres d'un système d'exploitation, dans différentes circonstances telles que le chargement de pages ou des opérations de glisser-déposer. Chapter 1 aims in particular improvements to the management of the on-screen display of graphic elements such as pages of the Web, parts of pages or even windows of an operating system, under different circumstances such as loading pages or drag and drop operations.
Le chapitre II vise, en utilisant notamment la gestion d'affichage du chapitre 1, à permettre à un utilisateur de créer des liens personnels entre des pages de la Toile, et vise également différentes techniques pour mettre à profit ces liens créés. Chapter II aims, in particular by using the display management of chapter 1, to allow a user to create personal links between pages of the Web, and also aims at different techniques to take advantage of these links created.
Le chapitre III vise, en utilisant notamment les techniques de liens créés du chapitre II, différentes techniques d'enrichissement mutuel des connaissances notamment via l'Internet. Il reprend à cet égard des notions exposées dans le chapitre II et les généralise. Chapter III aims, using in particular the linkage techniques created in Chapter II, different techniques of mutual enrichment of knowledge especially via the Internet. In this respect he adopts the concepts set out in Chapter II and generalizes them.
Le chapitre IV présente un procédé et système permettant d'effectuer des manipulations sur des documens et mettant en #uvre les techniques présentés dans les chapitres précédents. Chapter IV presents a method and system for manipulating documents and implementing the techniques presented in the preceding chapters.
<Desc/Clms Page number 8> <Desc / Clms Page number 8>
Chapitre 1 - Gestion de zones d'affichage superposées (Fig 1-27) En référence tout d'abord à la figure 1, on a représenté schématiquement une page interactive P, telle qu'une page en langage HTML, qui doit être chargée sur un réseau lent et/ou irrégulier tel que l'Internet, et qui est volumineuse (quelques dizaines de Kilo-octets, voire plus de cent Kilo-octet, ou même plus). Chapter 1 - Management of superimposed display areas (FIG. 1-27) Referring firstly to FIG. 1, there is shown schematically an interactive page P, such as a page in HTML language, which must be loaded on a slow and / or irregular network such as the Internet, which is bulky (a few tens of kilobytes or even more than one hundred kilobytes, or even more).
Cette page est décomposée en deux zones d'affichage Zl et Z2 couvrant ensemble, typiquement, une fenêtre d'un logiciel de navigation sur Internet. Dans l'exemple de la figure 1, un élément de page E2 est chargé dans la zone Zl, tandis qu'un élément de page E5 est chargé dans la zone Z2. This page is broken down into two display areas Z1 and Z2 covering, typically, a window of a browser software on the Internet. In the example of Figure 1, a page element E2 is loaded in the zone Z1, while a page element E5 is loaded in the zone Z2.
L'une de ces zones (la zone Zl en l'occurrence) est définie comme pouvant tolérer le recouvrement de l'affichage de la page P par l'affichage d'éléments externes. One of these zones (the zone Z1 in this case) is defined as being able to tolerate the recovery of the display of the page P by the display of external elements.
Autrement dit, la décomposition en zones permet de distinguer une zone (Zl) dans laquelle l'affichage de l'élément courant (l'élément E2) peut être recouvert (entièrement ou partiellement) par l'affichage d'un (ou plusieurs) éléments qui n'appartiennent pas à la page interactive P. In other words, the zone decomposition makes it possible to distinguish a zone (Z1) in which the display of the current element (the element E2) can be covered (entirely or partially) by the display of one (or more) elements that do not belong to the interactive page P.
Bien entendu, les zones en question pourraient être de n'importe quelle forme, et constituées de parties (sous-zones) contiguës ou non. Of course, the areas in question could be of any shape, and consist of parts (sub-areas) contiguous or not.
Selon la présente invention, on vise à faire patienter l'utilisateur pendant le chargement de la page interactive, l'idée de base consistant à lui présenter au préalable un élément supplémentaire (élément El dans les schémas qui suivront) dont la caractéristique essentielle According to the present invention, it is intended to make the user wait during the loading of the interactive page, the basic idea of presenting to him beforehand an additional element (element E1 in the diagrams that will follow) whose essential characteristic
<Desc/Clms Page number 9><Desc / Clms Page number 9>
est d'être légère en termes de volume de données à transmettre, en étant par exemple constituée d'un simple texte introductif, c'est-à-dire très rapidement chargeable. is to be light in terms of the volume of data to be transmitted, for example consisting of a simple introductory text, that is to say, very quickly loadable.
La figure 2 illustre l'élément El affiché dans la zone Zl après avoir été chargé. Figure 2 illustrates the element E1 displayed in zone Z1 after being loaded.
L'affichage de cet élément El est effectuée dans la zone Zl afin de pouvoir recouvrir par la suite l'affichage de certains éléments de la page interactive (et plus précisément l'élément E2) quand ceux-ci seront chargés. The display of this element El is performed in the zone Z1 in order to be able to subsequently cover the display of certain elements of the interactive page (and more specifically the element E2) when they are loaded.
On va maintenant décrire un certain nombre de détails de mise en oeuvre concrète de l'invention. We will now describe a number of details of concrete implementation of the invention.
Section 1- Stabilité de l'affichage de l'élément El La durée de chargement cumulée des éléments E2 et E5 destinés à constituer la page P n'étant pas exactement prévisible, et par ailleurs la durée nécessaire à l'examen complet par l'utilisateur du contenu de l'élément El - c'est-à-dire la durée de lecture du texte qu'il contient - étant dépendante des capacités et de l'attention de l'utilisateur, il est avantageux que l'élément El reste affiché jusqu'à que l'utilisateur l'ôte de sa propre initiative. Il est en effet désagréable pour l'utilisateur de se voir tout à coup privé d'un texte il est en train de lire. Section 1- Stability of the display of the element El The cumulative loading time of the elements E2 and E5 intended to constitute the page P not being exactly predictable, and moreover the duration necessary for the complete examination by the user of the content of the element El - that is to say the duration of reading the text it contains - being dependent on the capabilities and attention of the user, it is advantageous that the element El remains displayed until the user removes it on his own initiative. It is indeed unpleasant for the user to be suddenly deprived of a text he is reading.
L'approche adoptée, qui va maintenant être décrite plus en détail en référence à la figure 3, est la suivante : dès la fin du chargement des éléments E2 et E5 initialement nécessaires à l'exécution de la page interactive P, tout ou partie de la zone Zl dans laquelle doit être affiché l'élément El sert de zone sensible , de manière à ce que, quand le pointeur d'une souris (ou tout autre périphérique d'entrée de la machine constituant un dispositif de pointage) entre dans cette zone Zl (et sans qu'un clic de souris ne soit nécessaire), l'affichage de l'élément El est automatiquement remplacé par celui de l'élément E2. The approach adopted, which will now be described in more detail with reference to FIG. 3, is as follows: as soon as the loading of the elements E2 and E5 initially necessary for the execution of the interactive page P, all or part of the zone Z1 in which the element El is to be displayed serves as a sensitive zone, so that when the pointer of a mouse (or any other input device of the machine constituting a pointing device) enters this zone, zone Zl (and without a mouse click is necessary), the display of the element El is automatically replaced by that of the element E2.
On observera ici que l'on peut équiper la machine de moyens (bouton, fenêtre de dialogue ou autre) permettant alors à l'utilisateur de déclarer le cas échéant que par la suite, il ne souhaite plus voir l'élément El affiché. Ce moyen peut par exemple être un sous-élément d'interactivité dans E2 ou El. It will be observed here that one can equip the machine means (button, dialogue window or other) then allowing the user to declare if necessary that thereafter, he no longer wishes to see the El element displayed. This means may for example be a sub-element of interactivity in E2 or El.
<Desc/Clms Page number 10> <Desc / Clms Page number 10>
Section 2- Ré-affichage de l'élément El Sauf indication contraire explicitement donnée par l'utilisateur comme indiqué ci-dessus, on prévoit alors que l'utilisateur puisse retrouver ultérieurement l'élément El de sa propre initiative et le plus facilement possible, par exemple dans le cas où il l'aurait ôté par erreur. Section 2- Re-Display El Element Unless explicitly stated otherwise by the user as indicated above, it is then expected that the user can retrieve the El element later on his own initiative and as easily as possible, for example in the case where he would have removed it by mistake.
Or, après le remplacement de l'élément El par l'élément E2, puisque l'élément E2 doit offrir à l'utilisateur toutes ses propres possibilités d'interactivité (liens hypertexte, etc. ) dans la zone d'affichage Zl, il est avantageux que cette zone Zl ne serve pas à déclencher l'opération inverse, c'est-à-dire le remplacement de l'élément E2 par l'élément El. However, after the element E2 has been replaced by the element E2, since the element E2 must offer the user all his own possibilities of interactivity (hypertext links, etc.) in the display area Z1, he is advantageous that this zone Zl is not used to trigger the opposite operation, that is to say the replacement of the element E2 by the element El.
Pour satisfaire à cette contrainte, et comme illustré sur la figure 4, au moment où l'élément E2 est affiché, on prévoit que tout ou partie de la zone d'affichage Z2 dans laquelle est affiché l'élément E5 devienne à son tour zone sensible ; l'élément El pourra ainsi être ré-affiché dès la détection de l'entrée du pointeur dans cette zone. To satisfy this constraint, and as illustrated in FIG. 4, at the moment when the element E2 is displayed, it is expected that all or part of the display zone Z2 in which element E5 is displayed will in turn become zone sensitive; the element El can thus be re-displayed as soon as the pointer input is detected in this zone.
Toutefois, dès que l'élément El a été de nouveau affiché, il faut que l'élément E5 offre toutes ses propres possibilités d'interactivité. C'est alors, comme précédemment, tout ou partie de la zone Z1 (contenant alors l'élément El) qui redevient zone sensible. Ceci est illustré sur la figure 5. However, as soon as the element El has been displayed again, element E5 must have all its own possibilities for interactivity. It is then, as before, all or part of the zone Z1 (then containing the element El) which becomes sensitive area. This is illustrated in Figure 5.
Les comportements des figures 4 et 5 peuvent, dans la présente forme de réalisation, être enchaînés à l'infini, aussi longtemps que l'utilisateur n'a pas appelé d'autres pages. The behaviors of Figures 4 and 5 may, in the present embodiment, be chained to infinity, as long as the user has not called other pages.
Bien évidemment, tant E2 que El peuvent aussi posséder des sous-éléments d'interaction, constituant d'autres zones sensibles, pour respectivement amener et enlever l'élément El. Of course, both E2 and E1 may also have interaction sub-elements, constituting other sensitive areas, to respectively bring and remove the element El.
On va maintenant décrire en détail différents déroulements du procédé selon l'invention. We will now describe in detail different sequences of the process according to the invention.
Cas 1 : Le pointeur de la souris se trouve initialement dans la zone Z2 Case 1: The mouse pointer is initially in zone Z2
<Desc/Clms Page number 11><Desc / Clms Page number 11>
Il s'agit du cas où, au moment où les éléments nécessaires à l'exécution initiale de la page interactive P sont finis d'être chargés, le pointeur de la souris se trouve dans la zone d'affichage qui ne contient pas l'élément El. This is the case when, at the moment when the elements necessary for the initial execution of the interactive page P are finished loading, the mouse pointer is in the display area which does not contain the El element.
Le déroulement du procédé est alors le suivant : - l'élément Elest chargé et affiché en premier, et reste affiché tant que les éléments nécessaires à l'exécution initiale de la page interactive P (à savoir les éléments E2 et E5) ne sont pas encore chargés ; - l'élément El reste affiché, même après chargement des éléments E2 et E5, tant que le pointeur actionné par la souris n'effectue pas une entrée dans la zone d'affichage Zl contenant l'élément El ; - c'est seulement lors d'une telle entrée qu'il est remplacé par les éléments E2 et E5 ; - au cas où le pointeur est ensuite amené dans la zone d'affichage Z2 qui ne contient pas l'élément E2, l'élément El est affiché à nouveau (E2 peut rester affiché ou pas). The sequence of the process is as follows: the element Elest is loaded and displayed first, and remains displayed as long as the elements necessary for the initial execution of the interactive page P (namely the elements E2 and E5) are not still loaded; the element El remains displayed, even after loading the elements E2 and E5, as long as the pointer actuated by the mouse does not make an entry in the display zone Z1 containing the element El; - it is only during such an entry that it is replaced by the elements E2 and E5; - In case the pointer is then brought into the display area Z2 which does not contain the element E2, the element El is displayed again (E2 can remain displayed or not).
Cette séquence est présentée dans le diagramme de la figure 6. This sequence is shown in the diagram of Figure 6.
Cas 2 : Le pointeur de la souris se trouve initialement dans la zone Z1 Il s'agit du cas où, au moment où les éléments E2 et E5 nécessaires à l'exécution initiale de la page interactive P ont été chargés, le pointeur de la souris se trouve dans la zone d'affichage Z1 qui contient l'élément El. Case 2: The mouse pointer is initially located in zone Z1 This is the case where, at the moment when elements E2 and E5 necessary for the initial execution of interactive page P have been loaded, the pointer of the mouse is in the Z1 display area that contains the El element.
Dans ce cas l'élément El reste affiché aussi longtemps que le pointeur n'est pas sorti de la zone Zl, puis à nouveau entré dans celle-ci ; c'est seulement dans ce dernier cas que l'élément El est remplacé par les éléments E2 et E5 sur l'écran d'affichage. In this case, the element El remains displayed as long as the pointer has not left the zone Z1 and then entered it again; it is only in the latter case that the element El is replaced by the elements E2 and E5 on the display screen.
Cette séquence est présentée dans le diagramme de la figure 7. This sequence is shown in the diagram of Figure 7.
<Desc/Clms Page number 12> <Desc / Clms Page number 12>
Approche dite de streaming Bien entendu, dans tous les cas, les éléments E2 et E5 de la page interactive P pourront être transmis dans une approche dite de streaming , approche classique dans laquelle des éléments d'une page sont affichés et exécutés avant que la page soit entièrement chargée. Il n'est en effet pas nécessaire d'attendre que la totalité de ces éléments de la page soient chargés pour activer la ou les zones sensibles . The so-called streaming approach Of course, in all cases, the elements E2 and E5 of the interactive page P can be transmitted in a so-called streaming approach, a conventional approach in which elements of a page are displayed and executed before the page be fully charged. It is indeed not necessary to wait for all of these elements of the page to be loaded to activate the sensitive area or zones.
On va présenter ci-après une approche de streaming pour l'élément E1, qui dans le présent exemple est constitué par deux sous-éléments E 1.1 et E 1.2. We will present hereinafter a streaming approach for the element E1, which in the present example consists of two sub-elements E 1.1 and E 1.2.
Plutôt que d'attendre la fin du chargement complet de l'élément El, les parties distinctes E1.1 et E1.2 de l'élément El(qui peuvent être par exemple principalement du texte) peuvent être chargées et affichées successivement, dans l'ordre de lecture. Rather than waiting for the end of the complete loading of the element El, the distinct parts E1.1 and E1.2 of the element El (which may be for example mainly text) can be loaded and displayed successively, in the reading order.
Le principe d'affichage des éléments en fonction des déplacements du pointeur de la souris peut rester identique, comme le présente le schéma de la figure 8. The principle of displaying the elements according to the movements of the mouse pointer can remain identical, as shown in the diagram of FIG. 8.
En variante, le comportement des différentes parties de l'élément El peuvent être dissociées, selon les règles énoncées ci-dessous et décrites en référence aux figures 9 à 12, sur lesquelles chaque fenêtre a pour but de montrer d'une part les nouveaux éléments affichés en réaction à l'action de déplacement du pointeur de la souris présentée dans la fenêtre immédiatement précédente, le cas échéant, d'autre part une nouvelle action de déplacement de la souris dont l'effet est montré dans la fenêtre suivante, le cas échéant : Règle 1 Il s'agit ici d'un simple rappel du principe déjà énoncé dans le paragraphe Cas 2 : Le pointeur de la souris se trouve initialement dans Z1 : Dans le cas où, au moment de la fin du chargement des éléments E2 et E5 de la page interactive P, le pointeur de la souris se trouve dans la zone Z1, les déplacements du pointeur n'ont pas d'effet tant que le pointeur n'est pas amené en dehors de la zone Zl (c'est-à-dire Alternatively, the behavior of the different parts of the element El can be dissociated, according to the rules set out below and described with reference to FIGS. 9 to 12, on which each window aims to show on the one hand the new elements displayed in response to the movement action of the mouse pointer presented in the immediately preceding window, if any, on the other hand a new movement action of the mouse whose effect is shown in the following window, the case applicable: Rule 1 This is a simple reminder of the principle already stated in the paragraph Case 2: The mouse pointer is initially in Z1: In the case where, at the moment of the end of the loading of the elements E2 and E5 of the interactive page P, the pointer of the mouse is in the zone Z1, the movements of the pointer have no effect as long as the pointer is not brought out of the zone Zl (that is -to-dir e
<Desc/Clms Page number 13><Desc / Clms Page number 13>
introduit dans la zone Z2) puis retourné ensuite dans la zone Z1. Ceci est illustré sur la figure 9. introduced in zone Z2) and then returned to zone Z1. This is illustrated in Figure 9.
Règle 2 Le déplacement du pointeur de la souris, de la zone Z2 à la zone Zl, déclenche le remplacement de l'affichage du seul sous-élément touché par le sous-élément correspondant de la page interactive. Dans l'exemple illustré sur la figure 10, l'entrée du pointeur dans la région affectée au sous-élément E1.1 de l'élément Elprovoquera son remplacement par un sous-élément E2. 1 de l'élément E2, tandis que l'autre sous-élément E1.2 de l'élément El restera intact. Rule 2 Moving the mouse pointer from Z2 to Zl causes the display of the only sub-element touched by the corresponding sub-element of the interactive page to be replaced. In the example illustrated in FIG. 10, the entry of the pointer in the region assigned to the sub-element E1.1 of the element Elprovocate its replacement by a sub-element E2. 1 of the element E2, while the other sub-element E1.2 of the element El will remain intact.
Règle 3 Cette règle aborde la réversibilité du comportement défini par la règle 2 : le pointeur revient ensuite dans la zone Z2, même en étant passé par d'autres régions entre-temps, mais à condition d'avoir automatiquement défait les remplacements causés entre-temps, l'affichage de l'élément E2. 1 est remplacé par celui de l'élément E1.1. Ceci est illustré sur la figure 10. Rule 3 This rule addresses the reversibility of the behavior defined by rule 2: the pointer then returns to zone Z2, even if it has passed through other regions in the meantime, but provided that it has automatically defeated the replacements caused between time, displaying the E2 element. 1 is replaced by that of element E1.1. This is illustrated in Figure 10.
Les schémas des figures 11 et 12 présentent d'autres exemples de mise en #uvre de la réversibilité, tels que décrits ci-dessous : Règle Le déplacement du pointeur de la souris de la région occupée par le sous-élément E2. 1 à la région occupée par le sous-élément E1.2 déclenche le remplacement de l'affichage du sous- élément E1.2 par celui du sous-élément correspondant E2. 2 de la page interactive. The diagrams of FIGS. 11 and 12 show other examples of implementation of the reversibility, as described below: Rule The movement of the mouse pointer of the region occupied by the sub-element E2. 1 to the region occupied by the sub-element E1.2 triggers the replacement of the display of the sub-element E1.2 by that of the corresponding sub-element E2. 2 of the interactive page.
<Desc/Clms Page number 14> <Desc / Clms Page number 14>
Règle 5 Cette règle décrit une forme de réversibilité de la règle 4 : le pointeur retourne de la région du sous-élément E2. 2 à à la région du sous-élément E2. 1, même en étant passé par d'autres régions entre-temps mais à condition d'avoir automatiquement défait les remplacements causés entre-temps, l'affichage du sous-élément E2. 2 est remplacé par celui du sous-élément E1.2. Ceci est illustré sur la figure 11. Rule 5 This rule describes a reversibility form of rule 4: the pointer returns from the region of the E2 sub-element. 2 to the region of the sub-element E2. 1, even having passed through other regions in the meantime but provided that the replacements caused in the meantime were automatically undone, the display of the sub-element E2. 2 is replaced by that of sub-element E1.2. This is illustrated in Figure 11.
Le schéma de la figure 12 présente une variante de mise en #uvre de la règle 5. The diagram in Figure 12 shows an alternative implementation of Rule 5.
Supposons qu'après le parcours suivant du pointeur de la souris :
Z2 # E1.1(qui devient E2.1) -E1.2 (qui devient E2.2) le pointeur de la souris soit amené de la région occupée par le sous-élément E2. 2 jusque dans la zone Z2. Ceci, du fait qu'il ne s'agit pas un retour au sens de la Règle 3, n'engendre pas le remplacement du sous-élément E2. 2 par le sous-élément E 1.2. Suppose that after the next run of the mouse pointer:
Z2 # E1.1 (which becomes E2.1) -E1.2 (which becomes E2.2) the pointer of the mouse is brought from the region occupied by the sub-element E2. 2 to zone Z2. This, because it is not a return within the meaning of Rule 3, does not result in the replacement of sub-element E2. 2 by sub-element E 1.2.
Règle 6 Cette règle consiste à rendre l'opération ci-dessus réversible : si le pointeur retourne de la zone Z2 à la région occupée par le sous-élément E2. 2, même en étant passé par d'autres zones entre-temps mais à condition d'avoir automatiquement défait les remplacements causés entre- temps et si le retour s'effectue avant un seuil temporel donné, l'opération est considérée comme étant défaite. Ceci est illustré sur la figure 12. Cette forme de réalisation permet avantageusement de ne plus appeler les sous-éléments constituant l'élément initial El lorsqu'une période de temps prédéterminée s'est écoulée pendant laquelle l'utilisateur est resté sur les sous-éléments de l'élément E2, ce qui est révélateur par exemple d'un début de travail de l'utilisateur sur l'élément E2. Rule 6 This rule consists of making the above operation reversible: if the pointer returns from zone Z2 to the region occupied by sub-element E2. 2, even if it has passed through other zones in the meantime, but provided that it has automatically defeated the replacements caused in the meantime and if the return is made before a given time threshold, the operation is considered to be defeated. This embodiment is advantageously used to no longer call the sub-elements constituting the initial element E1 when a predetermined period of time has elapsed during which the user has remained on the sub-elements. elements of the element E2, which is indicative for example of a beginning of work of the user on the element E2.
Section 3 - Exemples d'applications du présent chapitre Dans le cadre d'applications Internet ou autres, le procédé selon l'invention peut être complété par exemple par des éléments présentés dans le diagramme de la figure 13. Les informations portés par les éléments qui y sont représentés sont par exemple les suivantes : Elément El : texte (et le cas échéant image et/ou son, etc) introductif ou d'accueil, l'essentiel étant que sont chargement soit relativement rapide comparativement aux éléments E2 et E5 (constituant par exemple la page principale du site) ; Section 3 - Examples of applications of this chapter In the context of Internet or other applications, the method according to the invention can be completed for example by elements presented in the diagram of Figure 13. The information carried by the elements that There are, for example, the following: Element E1: text (and, where appropriate, image and / or sound, etc.), introductory or host, the main point being that the loading is relatively fast compared to the elements E2 and E5 (constituent for example the main page of the site);
<Desc/Clms Page number 15><Desc / Clms Page number 15>
Elément E3, occupant initialement la zone Z2 : par exemple un message au type Prière de patienter ; la page interactive est en train d'être chargée ; Elément E4, remplaçant l'élément E3 dans la zone Z2 : par exemple un message du type Le chargement minimal de la page interactive est terminé ; Elément E2 : la partie de la page principale occupant la zone Z 1 ; Elément E5 : la partie de la page principale occupant la zone Z2. Element E3, initially occupying the zone Z2: for example a message to the type Please wait; the interactive page is being loaded; Element E4, replacing element E3 in zone Z2: for example a message of the type The minimum loading of the interactive page is completed; Element E2: the part of the main page occupying zone Z 1; Element E5: the part of the main page occupying zone Z2.
L'homme du métier saura aisément mettre en #uvre l'invention dans une machine par exemple du type ordinateur personnel (au standard PC , MacOS (marque déposée), etc. ), comportant un processeur, des mémoires, et entrées/sorties, un écran d'affichage et une liaison avec un serveur délocalisé, ceci par exemple par programmation de routines appropriées en liaison avec le protocole de chargement des éléments depuis le serveur, sachant notamment que - la définition de zones sensibles pour un pointeur de souris ou analogue - la détection de la présence du pointeur dans ces zones, - la détection de fin de chargement de différentes pages HTML ou de leurs éléments individuels (textes, images, sons, etc.) constituent des outils classiques à disposition des développeurs. Those skilled in the art will easily implement the invention in a machine for example of the personal computer type (PC standard, MacOS (registered trademark), etc.), comprising a processor, memories, and inputs / outputs, a display screen and a link with a relocated server, for example by programming appropriate routines in connection with the loading protocol of the elements from the server, knowing in particular that the definition of sensitive areas for a mouse pointer or the like - The detection of the presence of the pointer in these areas, - The end of loading detection of different HTML pages or their individual elements (text, images, sounds, etc.) are classic tools available to developers.
On peut par ailleurs apporter de nombreuses variantes à la présente invention. Many variations can also be made to the present invention.
En premier lieu, on peut prévoir que la région dans laquelle va s'afficher l'élément initial El ne soit pas superposée exactement à la région dans laquelle va s'afficher l'élément E2 de la page principale. En particulier, la région occupée par l'élément El peut être plus petite que la région (zone Zl) dans laquelle s'affichera, dans les conditions définies plus haut, l'élément E2. Dans ce cas, la partie de la zone Zl non recouverte par la région occupée par l'élément El peut par exemple rester vierge aussi longtemps que l'élément E2 n'est pas affiché. Dans cette hypothèse, c'est avantageusement l'entrée du pointeur de la souris dans la seule région occupée par l'élément El qui provoquera le remplacement de l'élément El par l'élément E2. First, it can be expected that the region in which the initial element El will be displayed is not superimposed exactly on the region in which the element E2 of the main page will be displayed. In particular, the region occupied by the element El may be smaller than the region (zone Z1) in which will be displayed, under the conditions defined above, the element E2. In this case, the part of the zone Z1 not covered by the region occupied by the element El may for example remain blank as long as the element E2 is not displayed. In this case, it is advantageously the input of the mouse pointer in the only region occupied by the element El that will cause the replacement of the element El by the element E2.
<Desc/Clms Page number 16> <Desc / Clms Page number 16>
La région occupée par l' élément Elpeut aussi être plus grande que la région (zone Zl) dans laquelle s'affichera l'élément E2. The region occupied by the element El can also be larger than the region (zone Z1) in which element E2 will be displayed.
Selon une autre variante, on peut prévoir que le rappel de l'affichage de l'élément El en lieu et place de l'élément E2 s'effectue non pas en amenant le pointeur de la souris dans la zone Z2, mais par toute autre action et notamment : - en amenant le pointeur de la souris (avec le cas échéant la nécessité d'un clic) dans un bouton, onglet, etc. affiché au voisinage de l'élément E2 lorsque ce dernier est affiché (ou encore appartenant à l'élément E2) ; - par appui sur une touche spécifique du clavier de la machine, - etc. According to another variant, it is possible for the display of the element El to be replaced in place of the element E2 by not bringing the mouse pointer into the zone Z2, but by any other means. action and in particular: - by bringing the pointer of the mouse (with if necessary the necessity of a click) into a button, tab, etc. displayed in the vicinity of the element E2 when the latter is displayed (or belonging to the element E2); - by pressing a specific key on the keyboard of the machine, - etc.
On peut par ailleurs prévoir que les différents sous-éléments de l'élément initial El soient contigus ou non contigus. It is also possible to provide for the different sub-elements of the initial element El to be contiguous or non-contiguous.
Au surplus, on peut recourir à différentes techniques de déplacement d'éléments pour retirer El de la zone d'affichage Zl (ou de la ou des régions qu'il occupe dans cette zone, le cas échéant) avec un effet visuel donné pour l'utilisateur. En particulier, on peut prévoir une translation horizontale ou verticale progressive de la représentation de l'élément El vers l'extérieur de l'écran. In addition, different element displacement techniques can be used to remove E1 from the display area Z1 (or the region or regions it occupies in this area, if any) with a given visual effect for the area. 'user. In particular, it is possible to provide a progressive horizontal or vertical translation of the representation of the element El towards the outside of the screen.
Egalement, on peut prévoir que l'élément El, après avoir été initialement affiché, soit recouvert par certains sous-éléments (boutons, etc. ) appartenant à l'élément E2 en cours de chargement (cas par exemple d'un chargement de E2 en streaming ). l'élément El est donc en quelque sorte en sandwich entre certains sous-éléments de l'élément E2 (ceux qui resteront invisibles jusqu'à ce que l'élément El soit ôté) et d'autres sous-éléments de l'élément E2 qui vont se comporter comme indiqué ci-dessus. Also, it can be expected that the element El, after having been initially displayed, is covered by certain sub-elements (buttons, etc.) belonging to the element E2 being loaded (for example, a loading of E2 in streaming ). the element El is thus somehow sandwiched between certain sub-elements of the element E2 (those which will remain invisible until the element El is removed) and other sub-elements of the element E2 which will behave as indicated above.
Dans ce cas, la disparition de l'élément El lors de l'entrée du pointeur dans la zone associée, lorsqu'elle se fait par translation vers l'extérieur de l'écran de la représentation à l'écran dudit élément, est avantageusement effectuée en laissant immobiles le ou les sous-éléments de l'élément E2 alors visibles à l'écran. In this case, the disappearance of the element El when the pointer enters the associated zone, when it is done by translation towards the outside of the screen of the representation on the screen of said element, is advantageously performed by leaving the element or sub-elements of the element E2 still visible on the screen.
<Desc/Clms Page number 17> <Desc / Clms Page number 17>
On peut enfin prévoir que l'élément El affiché initialement contienne des sous- éléments d'interactivité (liens vers l'autres pages, boutons déclenchant des actions, etc. ). Dans ce cas, on prévoit avantageusement que ces sous-éléments soient actifs (c'est-à-dire actionnables par pointeur de souris notamment) au moins pendant la période au cours de laquelle l'élément E2 est en cours de chargement, et que ces sous-éléments deviennent inactifs dès le moment où l'entrée du pointeur dans la zone de l'élément El doit provoquer la disparition de cet élément. En effet, les sous-éléments d'interactivité en question ne sont alors plus atteignables. Finally, we can predict that the element El initially displayed contains sub-elements of interactivity (links to other pages, buttons triggering actions, etc.). In this case, it is advantageously provided that these sub-elements are active (that is to say actuatable by mouse pointer in particular) at least during the period during which the element E2 is being loaded, and that these sub-elements become inactive as soon as the entry of the pointer in the zone of the element El must cause the disappearance of this element. In fact, the sub-elements of interactivity in question are no longer reachable.
On va maintenant décrire en référence aux figures 14 à 24 une généralisation de la présente invention telle que décrite ci-dessus. A generalization of the present invention as described above will now be described with reference to FIGS.
On se place tout d'abord dans le situation où l'on souhaite visualiser deux pages (par exemple des pages HTML) dans une seule fenêtre d'affichage. We first place ourselves in the situation where we want to view two pages (for example HTML pages) in a single display window.
Pour bien faire comprendre cet aspect de l'invention, on va considérer que ces deux pages sont dans deux plans différents, la page P1du plan supérieur recouvrant partiellement la page P2 du plan inférieur, en étant entièrement visible dans la fenêtre de visualisation (dont la taille est ici légèrement supérieure à celle de la page P2), comme illustré sur la figure 14. To make this aspect of the invention clear, it will be considered that these two pages are in two different planes, the page P1 of the upper plane partly covering the P2 page of the lower plane, being entirely visible in the viewing window (the size is slightly larger here than page P2), as shown in Figure 14.
La page P1 du plan supérieur peut également occuper une position décalée ; recouvre encore partiellement la page P2, mais n'est visible que partiellement, marginalement, comme l'illustre la figure 15. The page P1 of the upper plane can also occupy an offset position; partially overlaps page P2, but is visible only partially, marginally, as shown in Figure 15.
Dans cette forme de réalisation, on prévoit en outre une pince virtuelle qui peut fixer ensemble les deux pages, comme on le détaillera plus loin, et ce dans une ou l'autre de leurs deux positions mutuelles. Cette pince est schématisée par PC sur les figures 16 et 17. In this embodiment, there is further provided a virtual clamp which can fix the two pages together, as will be detailed later, and in one or other of their two mutual positions. This clip is schematized by PC in Figures 16 and 17.
En vue en plan, l'utilisateur peut ainsi distinguer quatre zones Z1 1, Z12, Z 13 et Z 14 dans sa fenêtre d'affichage, comme le présente la figure 18. In plan view, the user can thus distinguish four zones Z1 1, Z12, Z13 and Z14 in his display window, as shown in FIG.
La zone Z11 est une zone qui n'est jamais couverte par la page P1 du plan supérieur. La zone Z11 contient donc en permanence la partie correspondante de la page P2 du plan inférieur. Zone Z11 is an area that is never covered by page P1 of the upper plane. The zone Z11 therefore permanently contains the corresponding part of the page P2 of the lower plane.
<Desc/Clms Page number 18> <Desc / Clms Page number 18>
La zone Z12 est la zone couverte par la page P1 du plan supérieur quand celle-ci n'est pas décalée, c'est-à-dire quand elle occupe la position illustrée sur la figure 14. Et lorsque la page P1 du plan supérieur est décalée (situation de la figure 15), la zone Z12 présente la partie correspondante de la page P2 du plan inférieur, cette page occupant alors la somme des zones 211 et 212. Zone Z12 is the area covered by page P1 of the upper plane when it is not shifted, that is to say when it occupies the position illustrated in FIG. 14. And when the page P1 of the upper plane is shifted (situation of Figure 15), the Z12 area has the corresponding portion of the P2 page of the lower plane, this page then occupying the sum of the areas 211 and 212.
La zone Z13 est la zone occupée par la pince, qui peut être symbolisée graphiquement de toute façon appropriée. Zone Z13 is the area occupied by the clip, which can be symbolized graphically anyway.
Enfin la zone Z14 est une zone qui est couverte par la page Pl du plan supérieur quelle que soit la position de cette dernière. Finally Z14 zone is an area that is covered by the page Pl of the upper plane regardless of the position of the latter.
Nous allons maintenant présenter les différents états possibles du système et les transitions possibles entre ces états, ces dernières étant la conséquence des actions de l'utilisateur. We will now present the different possible states of the system and the possible transitions between these states, the latter being the consequence of the actions of the user.
Les états sont définis par : # la position de la page du plan supérieur (c'est-à-dire décalée ou non décalée) # les positions possibles d'un pointeur de souris par rapport aux différentes zones, # l'état de la pince PC (ouverte ou fermée). The states are defined by: # the position of the top plane page (ie shifted or non-shifted) # the possible positions of a mouse pointer with respect to the different zones, # the state of the PC clamp (open or closed).
La figure 19 présente les deux positions possibles de la page Pl du plan supérieur. Figure 19 shows the two possible positions of the page Pl of the upper plane.
La figure 20 présente un exemple d'état du système, pour lequel est spécifié un ensemble de régions sensibles réagissant à l'arrivée dans celles-ci du pointeur de la souris, la position de la page du plan supérieur et l'état de la pince. FIG. 20 shows an exemplary state of the system, for which a set of sensitive regions responsive to the arrival therein of the mouse pointer, the position of the top plane page and the state of the clamp.
Dans l'exemple de la figure 20, les régions grisées (ici les zones Z12 et Z13) désignent des endroits où la présence du pointeur n'a pas d'effet sur le système, tandis que les régions blanches (ici les zones Zl 1 et Z14) désignent des régions pour lesquelles l'entrée du pointeur dans l'une de celles-ci provoque une action, comme on le détaillera plus loin. In the example of FIG. 20, the shaded regions (here the zones Z12 and Z13) designate places where the presence of the pointer has no effect on the system, whereas the white regions (here the zones Z1 1 and Z14) designate regions for which the entry of the pointer into one of these causes an action, as will be detailed below.
<Desc/Clms Page number 19> <Desc / Clms Page number 19>
Le comportement du système est présenté dans la figure 21 sous la forme d'un diagramme d'états-transitions, qui illustre les différentes manipulations des pages P1et P2 dans leurs plans respectifs. The behavior of the system is shown in FIG. 21 in the form of a state-transition diagram, which illustrates the different manipulations of pages P1 and P2 in their respective planes.
Le système fait en sorte que la page P1du plan supérieur ne soit remplacée par la page P2 du plan inférieur (une fois que cette dernière a été chargée à partir d'un serveur, le cas échéant) que seulement sur action implicite de l'utilisateur, et ceci de manière très intuitive. Contrairement aux procédés de streaming , l'utilisateur ne sera ainsi pas surpris de voir remplacée la page qu'il est justement en train d'examiner. The system ensures that the page P1 of the upper plane is replaced by the page P2 of the lower plane (once the latter has been loaded from a server, if any) that only on the user's implicit action , and this in a very intuitive way. Unlike streaming processes, the user will not be surprised to see the page he is currently reviewing.
Ainsi, quand la page du plan inférieur est le cas échéant chargée : - si le pointeur de la souris se trouve dans la zone Z11, le fait de l'amener dans la zone
Z12 - si le pointeur se trouve dans l'une des zones Z12, Z13 et Z14, le fait de l'amener dans la zone Z1 1 puis de nouveau dans la zone Z12 aura comme conséquence de décaler la page P1du plan supérieur. Thus, when the page of the lower plane is possibly loaded: - if the pointer of the mouse is in zone Z11, bringing it into the zone
Z12 - if the pointer is in one of the zones Z12, Z13 and Z14, bringing it into the zone Z1 1 and then again in the zone Z12 will have the consequence of shifting the page P1 of the upper plane.
Ensuite, l'utilisateur pourra provoquer le mouvement inverse de la page P1du plan supérieur (c'est-à-dire la ramener dans la zone Z12) : - soit en ramenant le pointeur de la souris dans la zone Z11, - soit en ramenant le pointeur de la souris dans la zone Z 14. Then, the user will be able to cause the reverse movement of page P1 of the upper plane (that is, to bring it back to zone Z12): either by bringing the mouse pointer back into zone Z11, or by bringing back the mouse pointer in the Z 14 area.
Ce double choix offert à l'utilisateur présente un avantage important : - le premier choix permet d'utiliser les moyens d'interactivité (boutons, etc. ) contenus dans la page P2 du plan inférieur dans la zone Z1 1, - le deuxième choix permet d'utiliser les moyens d'interactivité contenus dans la page P1 du plan supérieur dans la zone Z12. This double choice offered to the user has an important advantage: the first choice makes it possible to use the means of interactivity (buttons, etc.) contained in the page P2 of the lower plane in the zone Z1 1, the second choice allows to use the interactivity means contained in the page P1 of the upper plane in the zone Z12.
Le fait de serrer la pince PC (par exemple par un simple clic de souris dans la zone dédiée Z13) a pour effet d'éviter de décaler la page du plan supérieur à la suite des manipulations indiquées ci-dessus. En d'autres termes, le processus de décalage et de retour de la page P1 est alors neutralisé, et les positions mutuelles des pages P1et P2 (que ce soit avec la page P1 décalée ou la page P1non décalée) sont figées. Clamping the PC clamp (for example by a simple mouse click in the dedicated area Z13) has the effect of avoiding shifting the top plane page following the manipulations indicated above. In other words, the process of shifting and returning of the page P1 is then neutralized, and the mutual positions of the pages P1 and P2 (whether with the page P1 shifted or the page P1 not shifted) are frozen.
<Desc/Clms Page number 20> <Desc / Clms Page number 20>
Cette neutralisation peut être supprimée avantageusement en cliquant à nouveau dans la zone Z13 pour desserrer la pince PC. This neutralization can be advantageously suppressed by clicking again in the zone Z13 to loosen the PC clamp.
On notera que les différents états et les différentes transitions illustrés sur la figure 21 peuvent être complétés le cas échéant par d'autres états et d'autres transitions, notamment lorsqu'il existe dans la fenêtre, à l'extérieur des zones Z11 à Z14, une zone de marge qui peut être utilisée, par exemple, pour passer de la zone Z11 à l'une des zones Z13 ou Z14, ou réciproquement, sans passer par la zone Z12 qui les sépare. It will be noted that the different states and the different transitions illustrated in FIG. 21 can be supplemented if necessary by other states and other transitions, especially when there exists in the window, outside zones Z11 to Z14. , a margin zone that can be used, for example, to go from the zone Z11 to one of the zones Z13 or Z14, or conversely, without passing through the zone Z12 which separates them.
Le système décrit ci-dessus en référence aux figures 14 à 22 peut être étendu pour gérer plus de deux plans superposés. The system described above with reference to Figures 14 to 22 may be extended to handle more than two overlapping planes.
Ainsi l'on a illustré sur les figures 23 à 26 une page P2 de plan inférieur qui est fixe, et deux pages P1 et P1' de niveaux respectivement supérieur et intermédiaire, qui peuvent individuellement adopter une position non décalée (pleinement visible) ou décalée. La pince PC est ici commune aux trois pages, et peut donc occuper une zone graphique unique. Thus, FIGS. 23 to 26 show a page P2 of lower plane which is fixed, and two pages P1 and P1 'of respectively higher and intermediate levels, which can individually adopt a non-shifted (fully visible) or offset position. . The PC clamp is here common to all three pages, and can occupy a single graphic area.
En supplément de la pince, un moyen graphique de solidarisation des plans adjacents pris deux à deux peut être mis en #uvre. Quand ce moyen est activé, les deux plans qu'il relie se déplacent ensemble. In addition to the clip, a graphic means for securing the adjacent planes taken in pairs can be implemented. When this means is activated, the two planes that it connects move together.
Le système décrit en référence aux figures 14 à 26 peut ici encore avantageusement être mis en oeuvre dans le cadre d'applications sur l'Internet, dans lesquelles les pages mettent un temps significatif à être chargées. La page PIdu plan supérieur pourra être chargée en premier et faire patienter l'utilisateur pendant que la page P2 du plan inférieur se charge. De même, l'affichage des pages Pl et/ou P2 peut permettre de faire patienter l'utilisateur pendant le chargement d'une autre page P3, encore plus inférieure selon la présentation adoptée ici, et ainsi de suite. The system described with reference to FIGS. 14 to 26 can here again advantageously be implemented in the context of applications on the Internet, in which the pages take a significant amount of time to load. The top-level PI page can be loaded first and wait for the user while the P2 page of the lower plane loads. Likewise, the display of the pages P1 and / or P2 can make it possible for the user to wait while loading another page P3, even lower according to the presentation adopted here, and so on.
Enfin, dans les différentes formes de réalisation de l'invention, on peut prévoir une page Pl sensiblement plus petite que la page P2, auquel cas les zones d'affichage occupées par la page P1 dans ses deux positions respectives sont disjointes. Finally, in the various embodiments of the invention, it is possible to provide a page P1 that is substantially smaller than the page P2, in which case the display areas occupied by the page P1 in its two respective positions are disjoint.
<Desc/Clms Page number 21> <Desc / Clms Page number 21>
On va maintenant décrire en référence aux figures 27 à 31 un procédé de gestion de l'affichage de fenêtres d'un système d'exploitation notamment lors d'opérations de glisser-déposer. A method for managing the display of windows of an operating system, in particular during drag-and-drop operations, will now be described with reference to FIGS.
La figure 27 illustre une première fenêtre FI qui recouvre partiellement une seconde fenêtre F2 (peu importe ici que la fenêtre qui se trouve sur le dessus soit active ou non). Figure 27 illustrates a first window FI which partially overlaps a second window F2 (it does not matter here whether the window on the top is active or not).
On a illustré sur la figure 28 un pointeur (ou curseur) PT de souris qui se trouve sur un objet 01 (tel qu'un dossier ou document) visible dans la fenêtre FI. L'appui par l'utilisateur d'un bouton de la souris permet, de façon connue en soi, de saisir cet objet en vue d'une opération, également connue en soi, de glisser-déposer . FIG. 28 shows a mouse pointer (or cursor) PT that is on an object 01 (such as a folder or document) visible in the window FI. The support by the user of a mouse button allows, in known manner, to enter this object for an operation, also known per se, drag and drop.
Sur la figure 29, le pointeur Pl accompagné de l'objet 01 parcourt un trajet (flèche fl) de la fenêtre F1 vers la partie visible de la fenêtre F2, en franchissant donc le bord (gauche en l'occurrence) de la fenêtre F1, sans lâcher le bouton de la souris. In FIG. 29, the pointer P1 accompanied by the object 01 travels a path (arrow fl) from the window F1 to the visible part of the window F2, thus crossing the edge (left in this case) of the window F1. , without letting go of the mouse button.
Sur la figure 30, le mouvement du pointeur PT accompagné de l'objet 01 atteint à nouveau, par un mouvement inverse (flèche f2), le bord de la fenêtre Fl préalablement franchi. Ce phénomène provoque, dans le présent exemple de réalisation, la mise en arrière-plan de la fenêtre F1par rapport à la fenêtre F2. In FIG. 30, the movement of the pointer PT accompanied by the object 01 again reaches, by an inverse movement (arrow f2), the edge of the window F1 previously crossed. This phenomenon causes, in the present embodiment, the setting in the background of the window F1 compared to the window F2.
L'entièreté de la fenêtre F2 devient donc visible, et l'utilisateur peut donc librement choisir lequel, parmi les objets visibles dans toute la fenêtre F2, celui des objets (objet désigné par 02) sur lequel il va déposer l'objet 01. Ceci est illustré par la figure 31. The entire window F2 becomes visible, and the user can freely choose which of the objects visible in the entire window F2, the object (object designated by 02) on which it will drop the object 01. This is illustrated in Figure 31.
Selon une variante, on peut prévoir que lors du mouvement du pointeur selon la flèche f2, la fenêtre F1se déplace, de préférence selon le même mouvement que le pointeur PT, pour ainsi progressivement dégager la fenêtre F2. According to a variant, it can be provided that during the movement of the pointer according to the arrow f2, the window F1se moves, preferably in the same movement as the pointer PT, and thus gradually clear the window F2.
D'autres variantes sont bien entendu possibles, et notamment : - le système effectue une signalisation auprès de l'utilisateur lors de l'atteinte par le pointeur du bord de la première fenêtre ; cette signalisation peut être choisie dans le groupe Other variants are of course possible, and in particular: the system sends a signal to the user when the pointer reaches the edge of the first window; this signaling can be chosen in the group
<Desc/Clms Page number 22><Desc / Clms Page number 22>
comprenant une signalisation visuelle, une signalisation sonore et une signalisation tactile telle qu'un retour de force au sein d'un périphérique d'entrée manuel qui commande ledit pointeur ; - la fenêtre FI peut passer automatiquement en arrière-plan de la fenêtre F2 dès que le pointeur PT muni de l'objet 01 a séjourné dans la zone de la seconde fenêtre non recouverte par la première fenêtre pendant une durée supérieure à un seuil prédéterminé ; - la fenêtre FI peut passer automatiquement en arrière-plan de la fenêtre F2 lorsqu'une touche d'un clavier du poste informatique est actionnée, ou encore par commande vocale ; - la mise en arrière-plan ou le déplacement de la fenêtre FIpour dégager la fenêtre F2 peut être réversible, par exemple en effectuant un déplacement inverse du pointeur après son mouvement selon la flèche f2. comprising visual signaling, sound signaling and tactile signaling such as force feedback within a manual input device which controls said pointer; the window F1 can automatically go into the background of the window F2 as soon as the pointer PT provided with the object 01 has remained in the zone of the second window not covered by the first window for a duration greater than a predetermined threshold; the window FI can automatically switch to the background of the window F2 when a key of a keyboard of the computer station is actuated, or else by voice command; the setting in the background or the displacement of the window FI to clear the window F2 can be reversible, for example by carrying out an inverse displacement of the pointer after its movement according to the arrow f2.
Bien entendu, l'homme du métier saura effectuer les adaptations nécessaires dans le cas où il faut gérer l'affichage de plusieurs fenêtres superposées. Of course, those skilled in the art will be able to make the necessary adaptations in the case where it is necessary to manage the display of several superimposed windows.
** * Chapitre II - Création de liens (Figures 32 à 84) Selon un autre aspect de l'invention, on va maintenant décrire un système permettant à l'utilisateur de créer des liens hypertexte (que l'on appellera dans la suite liens ajoutés ) entre des pages qu'il découvre au gré de sa navigation sur l'Internet. ** * Chapter II - Creation of links (Figures 32 to 84) According to another aspect of the invention, we will now describe a system allowing the user to create hyperlinks (which will be called in the following links added) between pages he discovers as he browses the Internet.
Un but de ce système est que chaque utilisateur ajoute ses propres liens dans la masse d'informations disponible sur l'Internet. La figure 32 illustre ce concept, chaque point noir représentant une page et chaque trait séparant deux points noirs représentant un lien ajouté. One purpose of this system is that each user adds his own links to the mass of information available on the Internet. Figure 32 illustrates this concept, with each black dot representing a page and each line separating two black dots representing an added link.
Concrètement, l'utilisateur met en place de nouveaux liens au cours même de sa navigation, ces liens ajoutés étant destinés à l'aider dans sa navigation dans le futur. Il navigue ainsi de manière pro-active . Concretely, the user sets up new links during the course of his navigation, these links being added to help him in his navigation in the future. He sails in a pro-active way.
<Desc/Clms Page number 23> <Desc / Clms Page number 23>
En d'autres termes, pour chaque utilisateur, l'ensemble des liens ajoutés, que l'on peut considérer comme sa toile miniature personnelle (Miniweb), s'ajoute à la toile Internet (Web) à laquelle il avait déjà accès, comme illustré sur la figure 33. In other words, for each user, the set of added links, which can be considered as his personal thumbnail (Miniweb), is added to the Internet web (Web) to which he already had access, such as illustrated in Figure 33.
A cet effet, le système est installé entre le navigateur et les sites visités, et augmente pour chaque utilisateur le réseau des liens qui sont à sa disposition pour naviguer. Pour ce faire, le système est doté de moyens de stockage des liens ajoutés. Ces moyens permettent, à chaque accès (Link) à une page à laquelle un ou plusieurs liens ajoutés ont été associés, de présenter ces derniers à l'utilisateur en supplément de ladite page. Sur un plan pratique, et comme l'illustre la figure 34, une indirection est établie vers une table (Link-Added Links) de stockage des liens ajoutés, afin d'associer ces liens ajoutés (Added Links) à cette page avant de la présenter à l'utilisateur. For this purpose, the system is installed between the browser and the sites visited, and increases for each user the network of links that are available to navigate. To do this, the system is provided with storage means for added links. These means allow, each access (link) to a page to which one or more added links have been associated, to present them to the user in addition to said page. On a practical level, and as illustrated in Figure 34, an indirection is established to a link-added links table, in order to associate these added links to this page before the present to the user.
Le stockage des liens ajoutés peut être local (sur le poste client) ou distant (sur un serveur approprié). Dans la suite de la description, on se focalisera sur un stockage distant. En effet, dans certains des perfectionnements qui seront présentés plus loin, les liens formant les toiles miniatures personnelles de différents utilisateurs seront automatiquement comparés entre eux et des liens ajoutés pourront être communiqués d'une toile personnelle à une autre, ce qu'un stockage distant permet plus facilement de mettre en #uvre. Storage of added links can be local (on the client machine) or remote (on a suitable server). In the rest of the description, we will focus on a remote storage. Indeed, in some of the improvements that will be presented later, the links forming the personal miniature canvases of different users will automatically be compared with each other and added links can be communicated from one personal web to another, what a remote storage makes it easier to implement.
Chaque toile personnelle peut ainsi s'enrichir de liens ajoutés provenant d'autres toiles personnelles, et proposés automatiquement par le système qui par exemple possède en outre des moyens pour détecter que leurs utilisateurs respectifs partagent les mêmes centres d'intérêt. Par ailleurs, chaque utilisateur peut se constituer un cercle de relations (d'amis) proposées par le système suite à la détection de centres d'intérêts communs. Each personal web can thus be enriched with added links from other personal webs, and automatically proposed by the system which for example also has means for detecting that their respective users share the same interests. Moreover, each user can build a circle of relations (friends) proposed by the system following the detection of common interests.
La suite de la description est structurée de la manière suivante : On présentera d'abord le système qui permet à un utilisateur de créer des liens ajoutés et de les retrouver ultérieurement (lors des accès aux pages auxquelles ils ont été associés). Ceci est décrit dans la section Créer et retrouver des liens ajoutés . The remainder of the description is structured in the following way: The system that allows a user to create added links and to find them later (when accessing the pages to which they have been associated) will be presented first. This is described in the section Creating and retrieving added links.
<Desc/Clms Page number 24> <Desc / Clms Page number 24>
On présentera ensuite un perfectionnement du système consistant à combiner des liens ajoutés avec une approche de stockage de ces liens dans une structure hiérarchique de répertoires et sous-répertoires (c'est-à-dire en intégration avec l'approche classique des systèmes de mémorisation de liens favoris , signets , ou bookmarks ou encore scrapbook selon la terminologie anglo-saxonne). Ceci sera décrit dans la section Création de liens ajoutés dans des Répertoires . Then we will present a refinement of the system consisting of combining added links with an approach of storing these links in a hierarchical structure of directories and sub-directories (that is to say in integration with the traditional approach of storage systems favorite links, bookmarks, or bookmarks or scrapbook according to the English terminology). This will be described in Creating Links Added in Directories.
On présentera ensuite un perfectionnement du système classique de marque-pages, qui consiste à rendre les marque-pages contextuels. An enhancement to the classic bookmark system will be presented, which is to make the bookmarks contextual.
On présentera ensuite un perfectionnement du système permettant aux utilisateurs de publier (ou mettre à disposition d'un groupe restreint) au moins un sous-ensemble des liens ajoutés de leur toile personnelle. Ces liens ajoutés pourront être visualisés directement au moyen d'un navigateur Internet standard. Alternativement, ces liens ajoutés pourront être consultés avec le système et enrichir la toile personnelle de l'utilisateur qui les consulte. Ceci est décrit dans la section Publication de liens ajoutés . Next, a system enhancement will be introduced allowing users to publish (or make available to a small group) at least a subset of the added links to their personal web. These added links can be viewed directly using a standard Internet browser. Alternatively, these added links can be consulted with the system and enrich the personal web of the user who consults them. This is described in the Posting Added Links section.
On présentera ensuite un perfectionnement qui permet au système de suggérer automatiquement aux utilisateurs des liens ajoutés provenant d'autres utilisateurs dont les centres d'intérêt sont proches. Ceci est décrit dans la section Détection de Répertoires Proches . An enhancement will then be presented that allows the system to automatically suggest to users added links from other users whose interests are nearby. This is described in the section Detecting Close Directories.
On présentera ensuite une architecture qui permet à l'éditeur ou l'administrateur d'un site Internet ( Webmaster en terminologie anglo-saxonne) de proposer des liens ajoutés aux utilisateurs du système de manière personnalisée. Ceci est décrit dans la section Suggestion de liens ajoutés par le Webmaster . An architecture will then be presented that allows the publisher or administrator of an Internet site (Webmaster in English terminology) to propose links added to users of the system in a personalized way. This is described in the Suggestion section of links added by the Webmaster.
On présentera enfin un système permettant de simuler la propagation d'un nouveau lien ajouté parmi les utilisateurs du système sur l'Internet et de calculer le volume de l'audience probable. Ceci est décrit dans la section Calcul de l'Audience . Finally, a system will be introduced to simulate the propagation of a new added link among users of the system on the Internet and to calculate the volume of the likely audience. This is described in the Audience Calculation section.
On présentera ensuite un perfectionnement du système permettant à l'utilisateur de publier (ou mettre à disposition d'un groupe restreint) au moins un sous-ensemble des répertoires de Next, a system enhancement will be introduced allowing the user to publish (or make available to a small group) at least a subset of
<Desc/Clms Page number 25><Desc / Clms Page number 25>
sa toile personnelle. Ces répertoires peuvent être visualisés directement au moyen d'un navigateur standard. Alternativement, ces répertoires peuvent être consultés avec le système et enrichir la toile personnelle de l'utilisateur qui les consulte. Ceci est décrit dans la section Publication de Répertoires . his personal canvas. These directories can be viewed directly using a standard browser. Alternatively, these directories can be consulted with the system and enrich the personal web of the user who consults them. This is described in the section Publishing Directories.
On présentera ensuite un perfectionnement du système permettant à l'utilisateur de stocker (en local ou sur un serveur) non seulement un lien mais aussi une copie figée d'une page. Ceci est décrit dans la section Liens en mode Gelé . We will then present an improvement of the system allowing the user to store (locally or on a server) not only a link but also a frozen copy of a page. This is described in the Links section in Frozen mode.
On décrira ensuite un perfectionnement qui, dans le cadre du système présenté jusque là, permet de publier des pages qui ont été restructurées pour présenter des liens directement à l'intérieur d'elles-mêmes, l'utilisateur pouvant supprimer ces liens ou en ajouter d'autres. An improvement will then be described which, in the context of the system presented so far, makes it possible to publish pages which have been restructured to present links directly within themselves, the user being able to delete these links or to add links to them. others.
Pour ce faire, les pages contiennent un ou plusieurs contenants dans lesquels sont présentés des contenus qui peuvent eux-mêmes contenir d'autres contenants récursivement. Ceci est décrit dans la section Contenants et contenus . To do this, the pages contain one or more containers in which are presented contents that may themselves contain other containers recursively. This is described in the Containers and Contents section.
En intégrant les concepts présentés jusque là (liens ajoutés associés aux pages et liens dans des contenants inclus dans des pages) et en les illustrant au moyen d'un exemple, on récapitulera ensuite les fonctionnalités du système global et on les complétera par quelques perfectionnements. Ceci est décrit dans la section Proposition de Répertoires Spécialistes et Voisins . By integrating the concepts presented so far (added links associated with pages and links in containers included in pages) and illustrating them by means of an example, we will summarize the functionalities of the overall system and will be supplemented by some improvements. This is described in the Proposal section of Specialist and Neighbors Directories.
On présentera ensuite un perfectionnement du système permettant à l'utilisateur d'associer aux liens qui l'ont intéressé des attributs, tels que le souhait d'achat ou de vente du produit représenté par l'information pointée (ou plus généralement des attributs de type Offreur et Demandeur ). Ces attributs sont exploités par le système pour affiner la sélection de répertoires spécialistes et proches, et la mise en relation d'utilisateurs intéréssés par de mêmes contenus et se trouvant dans une situation de complémentarité. Ceci est décrit dans la section Attributs relatifs à l'acceptation . We will then present an improvement of the system allowing the user to associate with the links which interested him attributes, such as the wish to buy or sell the product represented by the pointed information (or more generally the attributes of Offeror and Applicant type). These attributes are exploited by the system to refine the selection of specialist and close directories, and the linking of users interested by the same content and being in a situation of complementarity. This is described in the Attributes section for acceptance.
On présentera ensuite un perfectionnement qui permet aux pages restructurées de présenter des contenus de manière personnalisée , c'est à dire en fonction des centres d'intérêts de l'utilisateur. Ceci est décrit dans la section Pages Personnalisées . We will then present a refinement that allows the restructured pages to present content in a personalized way, that is to say according to the interests of the user. This is described in the Custom Pages section.
<Desc/Clms Page number 26> <Desc / Clms Page number 26>
Section 1 - Créer et retrouver des liens ajoutés La Figure 35 illustre le principe selon lequel, en conséquence d'un accès par l'utilisateur à une page p1 via l'Internet, le système lui présente automatiquement un certain nombre de liens ajoutés, en l'occurrence sous forme de symboles graphiques, vers des pages p2, p3 et p4 qu'il avait associées à la page pl au cours de navigations précédentes. Section 1 - Creating and Retrieving Added Links Figure 35 illustrates the principle that, as a result of user access to a p1 page via the Internet, the system automatically presents to the user a number of links added, the occurrence in the form of graphic symbols, to pages p2, p3 and p4 that he had associated with the page pl during previous navigations.
Motivation Les liens ajoutés sont créés par l'utilisateur dans le but d'établir des relations entre des pages qui l'intéressent. Les liens ajoutés représentent des relations pertinentes entre ces pages ; une page liée à une autre page est intéressante dans le contexte de ladite autre page (et optionnellement, dans le sens inverse également). Pour l'utilisateur, l'ensemble des liens ajoutés constitue donc un réseau de relations supplémentaires entre pages qui l'intéressent les unes par rapport aux autres, comme l'illustrent les figures 36a, 36b et 36c qui illustrent pour les figures 36a et 36b, deux réseaux de liens entre un certain nombre de pages, et pour la figure 36c, le réseau aggloméré desdits liens. Motivation The added links are created by the user in order to establish relationships between pages that interest him. The added links represent relevant relationships between these pages; a page linked to another page is interesting in the context of said other page (and optionally, in the opposite direction as well). For the user, the set of links added thus constitutes a network of additional relationships between pages that interest him in relation to each other, as illustrated in FIGS. 36a, 36b and 36c which illustrate for FIGS. 36a and 36b. , two networks of links between a certain number of pages, and for the figure 36c, the network agglomerated of said links.
A partir d'une page ou d'un ensemble de pages sélectionné, le système permet à l'utilisateur de naviguer vers des pages qui y sont reliées. Le réseau de liens ajoutés constitue ainsi pour l'utilisateur un réseau de navigation personnel selon son propre schéma mental et lui permet de retrouver plus facilement les éléments d'information qu'il avait déjà repérés. From a selected page or set of pages, the system allows the user to navigate to pages that are linked to it. The network of links added thus constitutes for the user a personal navigation network according to his own mental scheme and allows him to more easily find the information elements that he had already identified.
Créer des liens ajoutés L'approche des plans coulissants décrite dans la première partie de la présente description est particulièrement favorable à l'établissement de liens ajoutés par la technique, classique en soi, du glisser-déposer . L'utilisateur peut sélectionner une page ou un élément (ou zone graphique qui la représente) qui se trouve dans un plan, la glisser et la déposer dans une autre page (ou zone graphique qui la représente) qui se trouve dans un autre plan, afin d'établir un lien ajouté entre ces deux pages. Creating Added Links The sliding plan approach described in the first part of this description is particularly favorable to the establishment of links added by the technique, conventional in itself, drag and drop. The user can select a page or an element (or graphic area that represents it) that is in a plane, drag it and drop it in another page (or graphic area that represents it) that is in another plane, in order to establish an added link between these two pages.
<Desc/Clms Page number 27> <Desc / Clms Page number 27>
Cette approche est à comparer avec l'approche qui consisterait à glisser-déposer des pages entre des fenêtres différentes de l'outil de navigation, qui se recouvrent partiellement et qui empêchent donc de visualiser les pages entièrement. L'avantage de l'approche par plans coulissants est de permettre, au cours même du processus de glisserdéposer (c'est-à-dire sans lâcher le doigt sur le bouton de la souris), de visualiser le contenu des plans (les pages et leurs liens ajoutés) à tour de rôle, par simple mouvement de la souris, comme décrit précédemment en référence notamment à la figure 26. This approach is to be compared with the approach of dragging and dropping pages between different windows of the browser tool, which overlap partially and thus prevent viewing the pages entirely. The advantage of the sliding plane approach is to allow, during the process of drag and drop (that is to say without releasing the finger on the mouse button), to visualize the content of the plans (the pages and their links added) in turn, by simple movement of the mouse, as previously described with particular reference to Figure 26.
On comprend également que, selon une variante, cette technique de glisser-déposer avec révélation des zones d'affichage en second plan sur lesquelles se dirige le curseur au cours même de l'opération peut être généralisée au cas où ces zones d'affichage sont des fenêtres d'un systèmes d'exploitation classique tel que Windows ou MacOS (marques déposées). Plus précisément, on prévoit dans ce cas qu'une fenêtre située en second plan passe en premier plan quand le curseur pousse la fenêtre qui était en premier plan en arrivant contre l'un de ses bords. It is also understood that, according to one variant, this technique of drag-and-drop with revelation of the second-plane display areas on which the cursor is moving during the operation itself can be generalized in the case where these display zones are windows of a classic operating system such as Windows or MacOS (registered trademarks). Specifically, it is expected in this case that a window in the background passes in the foreground when the cursor pushes the window that was in the foreground arriving against one of its edges.
La figure 37 présente un exemple, de création de liens ajoutés entre pages, en tirant des liens entre les objets graphiques les représentant (situées à gauche des pages), la pince décrite plus haut étant active et bloquant le mouvement des plans. Figure 37 shows an example of creating links added between pages, drawing links between the graphic objects representing them (to the left of the pages), the clip described above being active and blocking the movement of the plans.
Le bas de la figure 37 illustre le cas particulier de création de liens ajoutés (par glisserdéposer d'objets graphiques) entre différentes instances du système, ouvertes simultanément par l'utilisateur sur le poste client. Les mouvements de souris qui permettent de tirer des liens ajoutés entre les pages P6 et P7 illustrent la technique décrite précédemment qui consiste à amener le pointeur de la souris à l'extérieur de la fenêtre contenant la page P6 puis le faire revenir en direction de cette même fenêtre afin de la faire passer en arrière-plan de la fenêtre de la page P7. The bottom of Figure 37 illustrates the particular case of creating added links (by dragging graphics objects) between different instances of the system, simultaneously opened by the user on the client machine. The mouse movements that make it possible to draw added links between the pages P6 and P7 illustrate the technique described previously which consists of bringing the mouse pointer outside the window containing the page P6 and then returning it towards this point. same window in order to make it pass in the background of the window of the page P7.
Bien évidemment, chaque plan peut être supprimé ou minimisé (de manière à ce que sa partie visible prenne le moins de place possible) au moyen de clic sur un bouton (ceci n'est pas illustré dans les figures). Of course, each plane can be deleted or minimized (so that its visible part takes up the least space possible) by means of a click on a button (this is not illustrated in the figures).
<Desc/Clms Page number 28> <Desc / Clms Page number 28>
Bien que la figure 37 ne le montre pas, des objets graphiques à l'intérieur des pages peuvent aussi être glissés-déposés, soit entre eux, soit vers des zones ou objets graphiques représentant les pages. Dans certains cas, comme on le verra plus loin, les objets graphiques situés à l'extérieur des pages, et représentant des contenus de pages, peuvent aussi être glissés-déposés à l'intérieur de pages. Although FIG. 37 does not show it, graphical objects inside the pages can also be dragged or dropped between each other or to areas or graphic objects representing the pages. In some cases, as will be seen below, the graphic objects located outside the pages, and representing contents of pages, can also be dragged and dropped inside pages.
La figure 38 représente la disposition des plans coulissants quand le plan supérieur est décalé vers la droite. La figure 39 représente la disposition des plans coulissants quand tous les plans, sauf le plan le plus inférieur, sont décalés. Comme déjà décrit, la transition (d'une des dispositions de plans coulissants à une autre) se fait de façon incrémentale, au moyen de simple mouvements de la souris, la pince décrite plus haut étant débloquée. Figure 38 shows the arrangement of sliding planes when the upper plane is shifted to the right. Figure 39 shows the arrangement of sliding planes when all planes, except the lowest plane, are offset. As already described, the transition (from one arrangement of sliding planes to another) is incremental, by means of simple movements of the mouse, the clamp described above being unlocked.
On notera ici que, pour simplifier les manipulations, l'état de la pince peut être inversé par exemple en pressant sur la barre d'espace ou une autre touche du clavier du poste client. It should be noted here that, to simplify the operations, the state of the clamp can be reversed for example by pressing the space bar or another key on the keyboard of the client station.
Selon une variante, non représentée, la pince peut être déplacée sur un rail et il ne bloque que les plans situés à sa gauche. En d'autres termes, selon la position de la pince, les plans qui ne sont pas visibles à gauche de la pince sont bloqués et ceux qui sont à sa droite peuvent être décalés. According to a variant, not shown, the clamp can be moved on a rail and it blocks only the plans to the left. In other words, depending on the position of the clamp, the planes that are not visible to the left of the clamp are blocked and those to the right can be shifted.
Selon une autre variante, on peut prévoir des pinces sélectivement activées et désactivées entre deux pages adjacentes, de manière à ce que ces deux pages soient toujours, dans le cadre du processus de déplacement de plans, traitées de la même façon. According to another variant, it is possible to provide tongs that are selectively activated and deactivated between two adjacent pages, so that these two pages are always, in the context of the process of moving planes, treated in the same way.
On notera également ici que c'est le fait que la pince soit à l'état actif qui permet de tirer des liens ajoutés entre les pages (par glisser-déposer d'objets graphiques les représentant), sans entraîner le déplacement des plans tel que décrit. It will also be noted here that it is the fact that the clip is in the active state that makes it possible to draw links added between the pages (by dragging and dropping graphic objects representing them), without causing the plans to be moved as described.
Selon une autre forme de réalisation, les zones graphiques qui représentent des pages peuvent se trouver sur d'autres plans que ceux qui présentent les pages. La figure 40 présente ainsi une configuration où les liens ajoutés de chaque page sont sur un ou plusieurs plans adjacents à ladite page. According to another embodiment, the graphic areas that represent pages can be on other planes than those that present the pages. Fig. 40 thus shows a configuration where the added links of each page are on one or more planes adjacent to said page.
<Desc/Clms Page number 29> <Desc / Clms Page number 29>
Les liens ajoutés peuvent aussi avantageusement être vues sous forme de vignettes comme des papillons collés sur les pages et déplaçables par l'utilisateur à souhait à l'aide de la souris. The added links can also advantageously be seen in the form of thumbnails as butterflies pasted on the pages and movable by the user at will using the mouse.
Selon une variante avantageuse, on peut disposer ces vignettes dans des zones vierges de la page qui auraient pu être utilisées par exemple pour afficher des bandeaux publicitaires. According to an advantageous variant, these thumbnails can be arranged in blank areas of the page that could have been used, for example, to display advertising banners.
Les liens ajoutés par l'utilisateur par glisser-déposer (ou le cas échéant manuellement à l'aide du clavier ou par des clics de souris), sont stockés dans le système par exemple sous forme d'une table TABLE, comme l'illustre la figure 41. The links added by the user by drag-and-drop (or if necessary manually using the keyboard or by mouse clicks), are stored in the system for example in the form of a TABLE table, as illustrated Figure 41.
Dans la suite, nous adoptons l'hypothèse (optionnelle) selon laquelle les liens ajoutés sur une page entraînent la création de liens inverses sur les pages pointées par ces liens ajoutés (bidirectionalité des liens). Ainsi, comme l'illustre la figure 42, en conséquence de la création des liens ajoutés de p2, p3 et p4 sur la page pl, un lien ajouté pl s'ajoute automatiquement sur les pages p2, p3 et p4. In the following, we adopt the (optional) hypothesis according to which the links added on a page entail the creation of inverse links on the pages pointed by these added links (bidirectionality of the links). Thus, as shown in Fig. 42, as a consequence of the creation of the added links of p2, p3 and p4 on the page p1, an added link p1 is automatically added on pages p2, p3 and p4.
La création de liens ajoutés s'effectue quand l'utilisateur repère une relation entre différentes pages qu'il découvre au gré de sa navigation en suivant des liens hypertexte ou en se déplaçant à l'intérieur de grandes pages ou de mondes virtuels en trois dimensions (en réalité virtuelle immersive). Dans tous les cas, la création d'un lien ajouté peut se faire par simple glisser-déposer de la poignée ou autre miniaturisation de la page ou la scène couramment visualisée (par exemple de la scène 3D couramment visualisée) vers la poignée de la page à relier (autre scène 3D). The creation of added links is done when the user sees a relationship between different pages that he discovers as he navigates by following hypertext links or moving inside large pages or virtual worlds in three dimensions (in immersive virtual reality). In any case, the creation of an added link can be done by simply dragging and dropping the handle or other miniaturization of the page or the scene currently viewed (for example from the 3D scene currently displayed) to the handle of the page to connect (another 3D scene).
Les moyens de stockage des liens ajoutés sont avantageusement mis en oeuvre de manière distante (sur un serveur), comme l'illustre la figure 43. L'utilisateur ajoute et/ou supprime des liens ajoutés sur le poste client et ces manipulations sont répercutées sur le serveur, les communications se faisant par exemple par l'intermédiaire d'un Fournisseur d'Accès à l'Internet. The storage means of the added links are advantageously implemented remotely (on a server), as shown in FIG. 43. The user adds and / or deletes links added on the client station and these manipulations are reflected on the server, the communications being done for example via an Internet Service Provider.
Section 2 - Retrouver les liens ajoutés Section 2 - Finding the added links
<Desc/Clms Page number 30><Desc / Clms Page number 30>
L'affichage de la page avec ses liens ajoutés peut être préparé sur le poste client, dans une architecture schématisée par le diagramme de la figure 44, ou sur le poste serveur, dans une architecture schématisée par le diagramme de la figure 45. On notera que les deux architectures sont adaptées à un fonctionnement selon le protocole HTTP par exemple. The display of the page with its added links can be prepared on the client computer, in an architecture schematized by the diagram of Figure 44, or on the server, in an architecture schematized by the diagram of Figure 45. It will be noted that the two architectures are adapted to an operation according to the HTTP protocol for example.
Dans le cas de l'architecture de la figure 44, la requête ou lien Link de l'utilisateur est communiquée par le poste client, tant au serveur de la page demandée qu'au serveur où ont été stockés les liens ajoutés. En retour, avant présentation à l'utilisateur, les liens ajoutés fournis par le deuxième serveur sont graphiquement combinés, par le poste client, avec la page fournie par le premier serveur, et sont présentés conjointement à cette page. In the case of the architecture of FIG. 44, the request or Link link of the user is communicated by the client station, both to the server of the requested page and to the server where the added links have been stored. In return, before presentation to the user, the added links provided by the second server are graphically combined, by the client station, with the page provided by the first server, and are presented together with this page.
Dans le cas de l'architecture de la figure 45, la requête ou lien de l'utilisateur est communiquée par le poste client, uniquement au serveur où ont été stockés les liens ajoutés. Ce serveur se charge de retransmettre la requête au serveur de la page demandée pour recevoir cette page. En retour, les liens ajoutés sont ajoutés à la page et le tout constitue la réponse à la requête de l'utilisateur. La combinaison graphique des liens ajoutés avec la page peut être effectuée sur le serveur ou sur le poste client. In the case of the architecture of FIG. 45, the request or link of the user is communicated by the client station, only to the server where the added links have been stored. This server is responsible for retransmitting the request to the server of the requested page to receive this page. In return, the added links are added to the page and all is the answer to the user's request. The graphic combination of the links added with the page can be done on the server or on the client computer.
Section 3 - Création de liens ajoutés dans des Répertoires On connaît déjà dans l'état de la technique le concept dit de marque-page ou signet qui permet à un individu de mémoriser des liens vers ses pages favorites sur la Toile, un tel concept étant présent dans les navigateurs Internet courants. Ces derniers permettent de ranger les liens mémorisés dans des répertoires qui peuvent former une structure arborescente de répertoires et de sous-répertoires. Section 3 - Creating Links Added in Directories Already known in the state of the art concept called bookmark or bookmark that allows an individual to store links to its favorite pages on the Web, such a concept being present in current Internet browsers. These store stored links in directories that can form a tree structure of directories and subdirectories.
L'établissement d'une toile personnelle (réseau personnel de navigation qui s'ajoute à la Toile) en créant (par glisser-déposer ou manuellement) des liens ajoutés directement sur des pages comme on l'a décrit dans la section précédente, est complémentaire à ces moyens classiques de rangement de liens dans des répertoires (constituant généralement des catégories personnelles de l'internaute). The establishment of a personal web (personal navigation network that is added to the Web) by creating (by drag-and-drop or manually) links added directly to pages as described in the previous section, is complementary to these traditional ways of storing links in directories (generally constituting personal categories of the user).
En effet : Indeed :
<Desc/Clms Page number 31><Desc / Clms Page number 31>
- l'utilisateur peut ranger dans un répertoire non seulement un lien (vers une page), mais aussi un lien ajouté (entre deux pages). - the user can store in a directory not only a link (to a page), but also an added link (between two pages).
- les liens ajoutés peuvent ainsi être contextuels : un lien ajouté associé à une première page (ou plus exactement, associé à un lien vers une première page) et pointant sur une deuxième page peut exister dans le cadre d'un répertoire donné qui contient un lien vers cette première page sans exister dans un autre répertoire qui pourtant contient aussi le lien vers ladite la première page. the added links can thus be contextual: an added link associated with a first page (or more exactly, associated with a link to a first page) and pointing to a second page can exist within the framework of a given directory which contains a link to this first page without existing in another directory which also contains the link to the said first page.
Par exemple, dans le répertoire mes boissons favorites sur la page coca (marque déposée) peut se trouver un lien ajouté vers la page pepsi (marque déposée) alors que dans le répertoire mes styles de management préférés sur la même page coca peut ne pas se trouver de lien ajouté vers la page pepsi . (Voir l'exemple à la fin de cette section et la figure 51). For example, in the directory my favorite drinks on the page coca (registered trademark) can be a link added to the page pepsi (registered trademark) while in the directory my favorite management styles on the same page coca may not be find added link to the pepsi page. (See the example at the end of this section and Figure 51).
(Toutes les marques citées dans le présent mémoire sont des Marques Déposées de leurs titulaires respectifs, notamment coca , pepsi , perrier et hp ). (All trademarks in this memo are Trademarks of their respective owners, including coca, pepsi, perrier and hp).
Dans les choix de conception adoptés dans toute la suite de la description : - chaque lien ajouté appartient à un répertoire et un seul : un répertoire courant existe toujours, et c'est dans ce répertoire que les liens vers des pages et leurs liens ajoutés sont insérés par défaut ; si aucun répertoire n'est sélectionné par l'utilisateur pour être le répertoire courant, un premier répertoire courant lui est fourni par défaut quand il accède à une page et lui associe un premier lien ajouté. In the design choices adopted throughout the rest of the description: - each added link belongs to a directory and only one: a current directory still exists, and it is in this directory that the links to pages and their added links are inserted by default; if no directory is selected by the user to be the current directory, a first current directory is provided by default when he accesses a page and associates a first link added.
- la création d'un lien ajouté dans un répertoire donné engendre la création du lien ajouté inverse dans le même répertoire (s'il n'y existe pas déjà). Cette règle impose l'existence, dans le même répertoire, du lien vers la page pointée par le lien ajouté ; dans le cas où il n'existe pas, il y est automatiquement inséré ; ceci est illustré par l'exemple de la figure 46). - the creation of a link added in a given directory generates the creation of the added inverse link in the same directory (if it does not exist already). This rule imposes the existence, in the same directory, of the link to the page pointed by the added link; in the case where it does not exist, it is automatically inserted there; this is illustrated by the example of Figure 46).
- l'utilisateur peut sélectionner plusieurs répertoires comme étant répertoires courants ; les liens ajoutés visualisés pour une page courante sont alors constitués par l'union des liens - the user can select several directories as current directories; the added links displayed for a current page are then constituted by the union of links
<Desc/Clms Page number 32><Desc / Clms Page number 32>
ajoutés situés dans ces répertoires ; un nouveau lien ajouté inséré l'est dans chacun de ces répertoires ; enfin on verra dans la section Détection de Répertoires Proches que la recherche de répertoires proches se fera également sur la base de l'union des liens ajoutés situés dans ces répertoires. added located in these directories; a new added link inserted is in each of these directories; finally, we will see in the section "Detection of close directories" that the search for close directories will also be done on the basis of the union of the added links located in these directories.
L'utilisateur peut effectuer les actions suivantes : - insérer ou supprimer, dans un répertoire, un lien vers une page : * pour insérer une page, une des méthodes possibles est la suivante : l'utilisateur choisit un répertoire courant (ou plusieurs, voir l'explication du paragraphe précédent), ou reste dans le répertoire par défaut (qui est considéré comme répertoire courant), et accède à une page dont le lien sera automatiquement rangé dans ce (s) courant(s). The user can perform the following actions: - insert or delete, in a directory, a link to a page: * to insert a page, one of the possible methods is as follows: the user chooses a current directory (or more, see the explanation of the preceding paragraph), or remains in the default directory (which is considered as current directory), and accesses a page whose link will be automatically stored in this stream (s).
* pour supprimer une page, l'utilisateur sélectionne la page en question et actionne la commande supprimer (par exemple par la touche Suppr du clavier). * to delete a page, the user selects the page in question and activates the delete command (for example by the Delete key on the keyboard).
- créer un lien ajouté : * soit il crée manuellement un lien ajouté sur une page (typiquement en tapant son adresse URL au clavier), * soit il utilise la technique du glisser-déposer : à partir d'une première page, il tire dans une deuxième page un lien ajouté qui pointera vers la première page. - create an added link: * either he manually creates a link added on a page (typically by typing his URL address on the keyboard), * or he uses the technique of drag and drop: from a first page, he pulls in a second page an added link that will point to the first page.
- déplacer ou copier une ou plusieurs pages d'un répertoire à un autre : * soit, manuellement, il choisit les pages à déplacer ou copier, soit il utilise la technique de glisser-déposer ; on notera qu'en fait, l'utilisateur déplace ou copie des liens vers des pages, même s'il croit déplacer les pages elles-mêmes. - move or copy one or more pages from one directory to another: * either, manually, he chooses the pages to move or copy, or he uses the technique of drag and drop; in fact, the user moves or copies links to pages, even if he thinks he is moving the pages themselves.
Dans la suite de la description, pour simplifier la lecture et décrire ce que l'utilisateur croit faire , nous utiliserons parfois le mot page au lieu de lien vers une page . Ainsi l'on In the following description, to simplify the reading and describe what the user believes to do, we will sometimes use the word page instead of link to a page. So we
<Desc/Clms Page number 33><Desc / Clms Page number 33>
dira déplacer une page (ou copier une page ) en lieu et place de déplacer un lien vers une page ( copier un lien vers une page ). On dira aussi une page possède un lien ajouté au lieu de dire à un lien vers une page est associé un lien ajouté , ou encore lien ajouté sur une page au lieu de lien ajouté associé à un lien vers une page . De plus, lien vers une page est un raccourci pour lien vers une page ou vers un élément contenu dans une page . will move a page (or copy a page) instead of moving a link to a page (copy a link to a page). It will also say a page has an added link instead of saying a link to a page is associated with an added link, or added link on a page instead of added link associated with a link to a page. In addition, a link to a page is a shortcut for linking to a page or to an element contained in a page.
Prenons un exemple: L'utilisateur a créé deux répertoires, libellés respectivement Drinks (pour mes boissons favorites ) et Mgt (pour styles de management ). Il a aussi à sa disposition un répertoire par défaut, libellé Buffer (pour tampon ) qui est créé automatiquement par le système. Let's take an example: The user has created two directories, labeled respectively Drinks (for my favorite drinks) and Mgt (for management styles). It also has at its disposal a default directory, labeled Buffer (which is created automatically by the system).
Selon l'approche classique de mémorisation des marque-pages, l'utilisateur insère le lien www. coca.com ( coca ) dans le répertoire Drinks. Il insère aussi le lien www.hp.com ( hp ) dans le répertoire Mgt. According to the traditional approach of memorizing bookmarks, the user inserts the link www. coca.com (coca) in the Drinks directory. It also inserts the link www.hp.com (hp) into the Mgt directory.
Dans le cadre du répertoire courant qui en l'occurrence est Buffer (par défaut), l'utilisateur accède via la Toile à la page www.pepsi.com ( pepsi ). A partir de coca (qui se trouve dans Drinks) il tire (par glisser-déposer) un lien ajouté sur la page pepsi (voir figure 46). As part of the current directory which in this case is Buffer (default), the user accesses via the Web at www.pepsi.com (pepsi). From coca (which is in Drinks) it pulls (drag and drop) a link added to the pepsi page (see Figure 46).
Ce lien ajouté sur la page Pepsi va être www.coca.com. Comme, pour satisfaire l'hypothèse de conception mentionnée précédemment, un lien ajouté inverse doit être créé dans le même répertoire, la page coca doit y être introduite avec un lien ajouté www.pepsi.com. This link added on the Pepsi page will be www.coca.com. Since, to satisfy the design hypothesis mentioned above, an inverse added link must be created in the same directory, the COCA page must be introduced with an added link www.pepsi.com.
En résultat, les pages pepsi et coca se trouvent tous les deux dans Buffer, chacun ayant un lien ajouté sur l'autre. En effet, le lien sur la page coca a dû être dupliqué dans Buffer pour permettre la création du lien ajouté inverse (de coca vers pepsi). La figure 46 illustre cet exemple. As a result, the pepsi and coca pages are both in Buffer, each having an added link on the other. Indeed, the link on the coca page had to be duplicated in Buffer to allow the creation of the added inverse link (from coca to pepsi). Figure 46 illustrates this example.
L'interface homme-machine permettant ces opérations peut par exemple être celle schématisée dans les figures 46 à 51. The human-machine interface allowing these operations can for example be that shown schematically in FIGS. 46 to 51.
<Desc/Clms Page number 34> <Desc / Clms Page number 34>
L'utilisateur peut, par glisser-déposer, copier ou déplacer une page vers un autre répertoire. The user can drag and drop, copy or move a page to another directory.
L'utilisateur peut aussi copier ou déplacer un ensemble de pages d'un répertoire à un autre. The user can also copy or move a set of pages from one directory to another.
Plusieurs cas de commande au système sont possibles : 1. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, sans leurs liens ajoutés. (Voir figure 47) ; 2. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, avec tous les liens ajoutés existant entre elles ; le déplacement n'est possible que pour les pages qui n'ont pas de liens ajoutés avec des pages externes à l'ensemble déplacé (les autres pages de l'ensemble sont copiés) ; voir figure 47 ; 3. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, avec tous les liens ajoutés entre elles ou avec d'autres pages du même répertoire ; voir figure 48 ; En poursuivant le même exemple, l'utilisateur déplace la page coca du répertoire Buffer vers le répertoire Drinks ; si l'on se trouve dans le premier ou deuxième cas de commande au système, la page coca se trouvant déjà dans Drinks, cette opération n'a aucun effet. Ceci est illustré par la figure 47. Several cases of control to the system are possible: 1. either this entails the displacement or the copy of the links towards these pages, without their added links. (See Figure 47); 2. either this involves moving or copying links to these pages, with all the added links existing between them; moving is only possible for pages that have no links added to pages outside the moved set (the other pages in the set are copied); see Figure 47; 3. either this involves moving or copying links to these pages, with all links added between them or with other pages in the same directory; see Figure 48; Continuing the same example, the user moves the coca page from the Buffer directory to the Drinks directory; if one is in the first or second case of control to the system, the page Coca already being in Drinks, this operation has no effect. This is illustrated in Figure 47.
Dans un autre cas de figure, l'utilisateur voudrait ranger dans le répertoire Drinks tous les liens ajoutés de la page coca. Si l'on se trouve dans le troisième cas de commande au système, en résultat du glisser-déposer de coca (qui se trouve dans Buffer) vers le répertoire Drinks, la page pepsi se retrouve également dans Drinks et le lien ajouté entre pepsi et coca est reproduit dans Drinks. L'utilisateur pourrait ensuite supprimer du répertoire Buffer les pages pepsi et coca (avec tous les liens ajoutés entre elles) ; deux opérations sont illustrées sur la figure 48. In another case, the user would like to store in the Drinks directory all the links added to the COCA page. If we are in the third system control case, as a result of the drag and drop of coke (which is in Buffer) to the Drinks directory, the pepsi page is also in Drinks and the link added between pepsi and Coca is reproduced in Drinks. The user could then delete from the Buffer directory the pages pepsi and coca (with all the links added between them); two operations are illustrated in Figure 48.
On notera que pepsi (ou coca) n'aurait pas pu être supprimé si une troisième page perrier (marque déposée) se trouvait dans le même répertoire Buffer et avait un lien ajouté sur pepsi ou sur coca), à moins que cette troisième page perrier ne fut supprimée dans la même action. Ceci est illustré par la figure 49. Note that pepsi (or coca) could not have been deleted if a third page perrier (registered trademark) was in the same directory Buffer and had a link added on pepsi or coca), unless this third page perrier was deleted in the same action. This is illustrated in Figure 49.
<Desc/Clms Page number 35> <Desc / Clms Page number 35>
Si l'on se trouve dans le deuxième cas de commande au système, l'utilisateur peut directement déplacer l'ensemble des liens pepsi et coca vers le répertoire Drinks, ainsi que les liens ajoutés entre eux. Aucune page externe à l'ensemble supprimé n'ayant un lien ajouté vers coca, cette page est alors supprimé d'office. Ceci est illustré sur la figure 50. If one is in the second case of control to the system, the user can directly move all the pepsi and coca links to the Drinks directory, as well as the links added between them. No external page to the deleted set having a link added to coca, this page is then deleted automatically. This is illustrated in Figure 50.
Poursuivons l'exemple : l'utilisateur, qui pense que les styles de management des sociétés coca et hp (marques déposées) méritent d'être mis en relation, tire par glisser-déposer un lien ajouté sur la page hp à partir de la page coca. Ceci est illustré à la figure 51. Let's continue the example: the user, who thinks that the management styles of the companies coca and hp (trademarks) deserve to be related, pulls by drag and drop an added link on the page hp from the page Coca. This is illustrated in Figure 51.
La création du lien ajouté de hp vers coca entraîne la création du lien ajouté inverse de coca vers hp, les deux liens ajoutés se trouvant dans le répertoire Mgt (où se trouve la destination du glisser-déposer). Bien que l'opération effectuée ne consiste pas explicitement en un déplacement ou une copie de page, elle implique la copie de la page coca dans le répertoire Mgt (puisque les deux extrémités de tout lien ajouté doivent se trouver dans un même répertoire) . The creation of the added link from hp to coca results in the creation of the added reverse link from coca to hp, the two links added being in the Mgt directory (where the destination of the drag and drop is located). Although the operation performed does not explicitly consist of a page move or copy, it involves copying the COCA page into the Mgt directory (since both ends of any added links must be in the same directory).
Section 4 - Marque-pages contextuels Rappelons que le système classique de marque-pages (déjà mentionné au début de la section précédente) permet à l'utilisateur de ranger dans un répertoire un lien sur (ou une copie de) la page courante visualisée, dans le cas où il veut mémoriser ledit lien. Section 4 - Contextual Bookmarks Remember that the classic system of bookmarks (already mentioned at the beginning of the previous section) allows the user to put in a directory a link on (or a copy of) the current page viewed, in the case where he wants to memorize said link.
De plus, les navigateurs modernes offrent l'option d'afficher, dans une sous-fenêtre adjacente à celle contenant la page visualisée, la structure arborescente de répertoires de marque-pages et les marque-pages (liens ou copies mémorisés) qu'ils contiennent. In addition, modern browsers offer the option of displaying, in a sub-window adjacent to the one containing the viewed page, the tree structure of bookmark directories and the bookmarks (links or copies stored) they contain.
Cette option d'affichage des liens mémorisés, simultanément à la page accédée par l'utilisateur, peut être perfectionnée en rendant contextuel l'affichage des répertoires de liens mémorisés et des liens (ou copies) mémorisés eux-mêmes. En effet, plutôt que de présenter la structure des répertoires et les liens qu'ils contiennent, de manière indépendante de la navigation de l'utilisateur, le système peut directement : This option for displaying the stored links, simultaneously with the page accessed by the user, can be improved by making the display of the stored link directories and the stored links (or copies) contextual. Indeed, rather than presenting the structure of the directories and the links they contain, independently of the user's navigation, the system can directly:
<Desc/Clms Page number 36><Desc / Clms Page number 36>
- pointer sur les répertoires contenant déjà le lien sur la page courante visualisée, - et présenter leurs contenus respectifs. - point to the directories already containing the link on the current page displayed, - and present their respective contents.
Ainsi, l'utilisateur n'a pas à aller chercher, dans ses répertoires, les liens (sur les pages qui l'avaient intéressé) mémorisés qui se trouvent être dans le contexte de la page courante, puisqu'il les a automatiquement à sa disposition. Thus, the user does not have to search, in its directories, the links (on the pages that had interested) stored that happen to be in the context of the current page, since it automatically has them at its disposition.
Dans une mise en #uvre pratique, le système présente ces répertoires (contenant la page courante) dans la zone présentant les liens ajoutés associés à la page courante en leur donnant une apparence différente (l'icône représentant un répertoire ou une page d'un répertoire qui n'est pas associé par un lien ajouté à la page courante est différente de l'icône représentant une page associée par lien ajouté). Ceci est schématisé dans la figure 52 qui illustre l'affichage des répertoires dans lesquels est rangé la page courante, automatiquement, simultanément à l'affichage de la page courante. L'utilisateur peut, par un simple clic sur un bouton (par exemple sur la barre comportant un triangle sur la figure 52), visualiser le contenu de ces répertoires et retrouver ainsi les autres pages qu'il avait rangées ensemble dans ces répertoires. In a practical implementation, the system presents these directories (containing the current page) in the area showing the added links associated with the current page by giving them a different appearance (the icon representing a directory or a page of a directory that is not associated with an added link to the current page is different from the icon representing an associated page by added link). This is shown schematically in FIG. 52 which illustrates the display of the directories in which the current page is stored, automatically, simultaneously with the display of the current page. The user can, by a simple click of a button (for example on the bar with a triangle in Figure 52), view the contents of these directories and find the other pages he had stored together in these directories.
Selon un détail de mise en #uvre, dans le cas où la page en question n'est rangée que dans un seul répertoire, les autres pages dudit répertoire (si elles ne sont pas trop nombreuses) peuvent être affichées directement, sans même nécessiter un clic, pour offrir ainsi un accès contextuel aux liens mémorisés de manière encore plus directe. According to an implementation detail, in the case where the page in question is stored in only one directory, the other pages of said directory (if they are not too many) can be displayed directly, without even requiring a click, to provide contextual access to the stored links even more directly.
L'utilisateur pourra cliquer directement sur la présentation graphique représentant un répertoire, par exemple une icône représentant un dossier (r2 sur la figure 52) pour ouvrir une nouvelle page présentant le répertoire r2 avec tout son contenu (les sous-répertoires et les pages qu'il contient). The user can click directly on the graphic presentation representing a directory, for example an icon representing a folder (r2 in Figure 52) to open a new page with the directory r2 with all its contents (the subdirectories and the pages that 'it contains).
Bien évidemment, la présentation de la figure 52 peut être remplacée par une présentation classique d'arbre comme celle que l'on trouve dans les systèmes de marque-pages existants. Of course, the presentation of Figure 52 can be replaced by a classic tree presentation like that found in existing bookmark systems.
Une fonction analogue concerne l'affichage des liens Ajoutés associés à une page courante. Il s'agit de pouvoir naviguer au moyen de liens Ajoutés de deuxième rang . A similar function is for displaying Added links associated with a current page. It's about being able to navigate through Second Added Links.
<Desc/Clms Page number 37><Desc / Clms Page number 37>
La figure 53 illustre un exemple de mise en #uvre de cette approche. En cliquant sur une zone graphique particulière d'un lien Ajouté p3 associé à la page p1, l'utilisateur peut voir également les liens Ajoutés (p31, p32 et p33) qui sont associés à la page p3 alors que c'est la page pl qui est couramment visualisée (et non la page p3). Figure 53 illustrates an example of how this approach is implemented. By clicking on a particular graphic zone of an added p3 link associated with the page p1, the user can also see the added links (p31, p32 and p33) which are associated with the page p3 whereas it is the page p which is currently viewed (and not page p3).
Bien évidemment, cette approche peut être généralisée (récursivement) pour l'affichage de liens Affichés de rangs supérieurs à 2. Of course, this approach can be generalized (recursively) for the display of links displayed with ranks greater than 2.
On observera en outre que chacune des présentations graphiques représentant un lien mémorisé ou un lien ajouté (par exemple une vignette représentant la page sous forme miniaturisée) peut être accessoirement dotée d'un signe qui indique que la page pointée a été mise à jour, le cas échéant, depuis la dernière visite de l'utilisateur. Ceci constitue une invitation à aller consulter à nouveau ladite page. It will further be observed that each of the graphic presentations representing a stored link or an added link (for example a thumbnail representing the page in miniaturized form) may be incidentally provided with a sign which indicates that the pointed page has been updated, the if applicable, since the last visit of the user. This constitutes an invitation to consult the said page again.
En outre, ce même signe peut figurer sur la représentation graphique de chaque répertoire dont au moins l'une des pages a été mise à jour. In addition, this same sign may appear on the graphic representation of each directory of which at least one of the pages has been updated.
Section 5 - Publication de liens ajoutés Un perfectionnement du système consiste à permettre de publier les liens ajoutés que l'on a associés à une page. Par publier, on entend le fait de les mettre à la disposition du public ou d'un groupe déterminé d'utilisateurs (qui pourront y accéder par exemple en donnant un mot de passe). Section 5 - Publishing Added Links An enhancement to the system is to publish the added links that have been associated with a page. Publication means making them available to the public or to a specific group of users (who can access them for example by giving a password).
Le système permet deux cas d'accès aux liens ajoutés publiés : - les liens ajoutés publiés peuvent être visualisés directement au moyen d'un navigateur Internet standard, - ou les liens ajoutés publiés être consultés au moyen de l'interface cliente du système et enrichir la toile personnelle de l'utilisateur qui les consulte. The system allows two cases of access to published added links: - published added links can be viewed directly by means of a standard Internet browser, - or published added links can be accessed through the system client interface and enriched the personal web of the user who consults them.
<Desc/Clms Page number 38> <Desc / Clms Page number 38>
Visualisation directe au moyen d'un navigateur standard Dans le cas d'une visualisation directe au moyen d'un navigateur standard, un premier utilisateur visualise par des moyens standard une page publiée par un deuxième utilisateur sur la Toile, ladite page possédant des liens ajoutés associés à une autre page. Cette visualisation peut être le fruit d'un accès ou d'une réception : - le premier utilisateur peut accéder via la Toile à une page présentant les liens ajoutés publiée par le deuxième utilisateur, de manière classique, en utilisant son navigateur Internet standard et en communiquant l'adresse URL de la page, - le premier utilisateur peut recevoir une page présentant les liens ajoutés, publiée par le deuxième utilisateur, de manière classique par courrier électronique. Direct visualization using a standard browser In the case of direct visualization using a standard browser, a first user views by standard means a page published by a second user on the Web, said page having links added associated with another page. This visualization can be the result of an access or a reception: the first user can access via the Web to a page presenting the added links published by the second user, in a conventional manner, using his standard Internet browser and communicating the URL address of the page, - the first user can receive a page presenting the links added, published by the second user, conventionally by email.
La page à laquelle il a été accédé via la Toile ou reçue par courrier électronique comporte des champs permettant au premier utilisateur de s'identifier pour le cas où il voudrait consulter les liens ajoutés au moyen du système. Il s'agit donc d'une invitation à utiliser le système, dont les avantages principaux sont : - de permettre de mémoriser les liens ajoutés dans son espace personnel sur un serveur et de les retrouver automatiquement , et - de recevoir automatiquement des suggestions de nouveaux liens ajoutés à partir de tiers. The page to which it was accessed via the Web or received by e-mail includes fields allowing the first user to identify himself in case he would like to consult the links added using the system. It is therefore an invitation to use the system, the main advantages of which are: - to allow to memorize the links added in his personal space on a server and to find them automatically, and - to automatically receive suggestions of new links added from third parties.
Un exemple schématique de cette invitation en est illustré à la figure 54. A schematic example of this invitation is shown in Figure 54.
Consultation au moyen du système Dans le cas d'une consultation au moyen du système, lorsqu'un premier utilisateur accède, pour une page donnée, aux liens ajoutés chez un deuxième utilisateur, ces liens ajoutés s'ajoutent à ceux qui, le cas échéant, avaient déjà été associés à cette même page chez le premier utilisateur. System Lookup In the case of a lookup through the system, when a first user accesses, for a given page, links added to a second user, these added links are added to those that, if any , had already been associated with this same page at the first user.
<Desc/Clms Page number 39> <Desc / Clms Page number 39>
On va maintenant décrire la manière dont un deuxième utilisateur est sélectionné par le premier utilisateur pour y puiser des liens ajoutés. We will now describe how a second user is selected by the first user to draw added links.
Pour chaque page à laquelle accède le premier utilisateur, trois listes de répertoires appartenant à des deuxièmes utilisateurs lui sont proposées, comme l'illustre la figure 55a. For each page accessed by the first user, three lists of directories belonging to second users are proposed to him, as shown in Figure 55a.
L'utilisateur peut sélectionner (par exemple en cliquant une case à cocher) un ou plusieurs éléments de ces listes pour indiquer qu'il souhaite ajouter leurs liens ajoutés dans sa propre liste de liens ajoutés. Les trois listes sont décrites ci-dessous : 1. le contenu de la première liste est optionnel : ce contenu existe dans le cas où l'auteur de la page en question est lui-même un utilisateur du système et a voulu suggérer des liens ajoutés au premier utilisateur ; ceci est décrit en détail plus loin dans la section Suggestion de liens ajoutés par l'administrateur du site ; 2. la deuxième liste ( voisins d'intérêt ) a pour objet de présenter au premier utilisateur les répertoires ayant le plus de probabilité de contenir des liens ajoutés intéressants par rapport à son profil d'intérêts ; la liste de ces répertoires est déterminée automatiquement par le système en comparant les toiles personnelles des utilisateurs ; ceci est décrit plus loin dans la section Détection de Répertoires Proches ). The user can select (for example by clicking a checkbox) one or more items from these lists to indicate that he wants to add their added links to his own list of added links. The three lists are described below: 1. the content of the first list is optional: this content exists in the case where the author of the page in question is himself a user of the system and wanted to suggest added links the first user; this is described in detail later in the Suggestion of links added by the site administrator section; 2. the second list (neighbors of interest) is intended to present to the first user the directories most likely to contain interesting links added to its interest profile; the list of these directories is determined automatically by the system by comparing the personal webs of the users; this is described later in the section on Detecting Close Directories).
3. la troisième liste ( copains ) contient des répertoires choisis par le premier utilisateur (par exemple, des répertoires appartenant aux toiles personnelles d'amis, collègues, experts, etc.). 3. the third list (buddies) contains directories chosen by the first user (for example, directories belonging to the personal webs of friends, colleagues, experts, etc.).
Selon une variante, peut s'ajouter aux trois listes ci-dessus une quatrième liste des répertoires appartenant au premier utilisateur. According to one variant, can be added to the three lists above a fourth list of directories belonging to the first user.
Dans le premier cas présenté plus haut (visualisation directe au moyen d'un navigateur standard), le pseudonyme du deuxième utilisateur qui est l'émetteur des liens ajoutés reçus par le premier utilisateur - ou du répertoire contenant ces liens ajoutés (on notera ici qu'il peut également s'agir d'un autre répertoire du premier utilisateur) - est présenté d'office en première position dans la troisième liste ( copains ) en mode actif (c'est-à-dire sélectionné) par défaut. In the first case presented above (direct visualization by means of a standard browser), the pseudonym of the second user who is the sender of the added links received by the first user - or of the directory containing these added links (note here that it can also be another directory of the first user) - is automatically displayed in first position in the third list (buddies) in active mode (that is to say selected) by default.
<Desc/Clms Page number 40> <Desc / Clms Page number 40>
La troisième liste, peut avantageusement être basée sur : - une liste par défaut donnée globalement par l'utilisateur pour toutes les pages ; - et surchargée par les préférences fournies par l'utilisateur expressément pour la page en question. The third list can advantageously be based on: a default list given globally by the user for all the pages; - and overloaded by the preferences provided by the user specifically for the page in question.
Dans l'ensemble de liens ajoutés associés à la page qu'il est en train de visualiser, l'utilisateur reçoit les liens ajoutés supplémentaires puisés dans les répertoires sélectionnés dans ces trois listes. On peut ainsi considérer que l'utilisateur visite ces répertoires. In the set of added links associated with the page that it is viewing, the user receives additional added links drawn from the selected directories in these three lists. It can thus be considered that the user visits these directories.
Des moyens pour sélectionner des liens ajoutés, sur la base de critères données par l'utilisateur ou associés à la page courante, peuvent être avantageusement mis en #uvre. Par exemple, l'utilisateur peut spécifier qu'il ne veut puiser dans les répertoires cochés que des liens ajoutés sur des pages étiquettées : - Demandeur plutôt que Offreur , afin de découvrir de nouveaux clients plutôt que de nouveaux vendeurs, - selon des critères concernant l'audience visée : Age , Zone Géographique , Sexe , Préférence (parmi un ensemble fini de préférences), - etc. Means for selecting added links, based on criteria given by the user or associated with the current page, can be advantageously implemented. For example, the user can specify that he wants to draw from the checked directories only links added on labeled pages: - Requestor rather than Offerer, in order to discover new customers rather than new sellers, - according to criteria concerning the intended audience: Age, Geographical Area, Sex, Preference (among a finite set of preferences), - etc.
Les liens ajoutés qui lui sont ainsi suggérés doivent être distingués de ceux qu'il avait luimême ajoutés, de manière à ce qu'il puisse sélectivement les accepter et les refuser. Dans ce but, les liens ajoutés peuvent se trouver dans un parmi plusieurs modes différents: Suggéré , Accepté , Refus et Gelé (ce dernier mode étant décrit plus loin dans la section Liens en mode Gelé ). The added links suggested to him must be distinguished from those he himself had added, so that he can selectively accept and reject them. For this purpose, the added links can be in one of several different modes: Suggested, Accepted, Refused and Frozen (the latter mode is described later in the Frozen Links section).
On donnera plus loin dans le chapitre III une description plus complète de la mise en #uvre technique de ces modes. Chapter III gives a more complete description of the technical implementation of these modes.
Les liens ajoutés reçus par un premier utilisateur, à partir des liens ajoutés publiés par un deuxième utilisateur (ou à partir des liens ajoutés d'un autre répertoire du premier utilisateur), sont au départ chez le premier utilisateur en mode Suggéré . The added links received by a first user, from the added links published by a second user (or from links added from another directory of the first user), are initially at the first user in Suggested mode.
<Desc/Clms Page number 41> <Desc / Clms Page number 41>
Suite à une action de l'utilisateur, chaque lien ajouté en mode Suggéré peut passer à 1 un parmi les autres modes. L'interface homme-machine permettant ceci est schématisée à la figure 55b. Following a user action, each link added in Suggested Mode can be moved to one of the other modes. The human-machine interface for this is shown schematically in Figure 55b.
A cet effet, les moyens de stockage associent aux liens ajoutés un attribut Mode qui peut prendre comme valeur les modes déjà mentionnés à l'exception de Suggéré (c'est-à-dire, l'une parmi trois valeurs : Accepté, Refusé, Gelé). La figure 56 présente un diagramme de classe pour les liens ajoutés, selon la représentation standard UML ( Unified Modeling Language ) mettant en évidence l'attribut Mode des liens ajoutés. For this purpose, the storage means associates with the added links a Mode attribute which can take as value the modes already mentioned with the exception of Suggested (that is to say, one of three values: Accepted, Refused, Frozen). Figure 56 shows a class diagram for the added links, based on the Unified Modeling Language (UML) standard representation highlighting the Mode attribute of the added links.
Un lien ajouté en mode Suggéré chez un premier utilisateur n'existe que pendant la visite des liens ajoutés (pour la page en question) chez un deuxième utilisateur (ou dans un autre répertoire du premier utilisateur). Il n'est pas affiché en dehors de cette visite. Rappelons que cette visite se fait dès que et tant que un ou plusieurs répertoire(s) est (sont) sélectionné(s) dans l'une des listes (Spécialistes, Voisins, Copains). A link added in Suggested mode to a first user only exists during the visit of the links added (for the page in question) to a second user (or to another directory of the first user). It is not displayed outside this tour. Remember that this visit is done as soon as and as long as one or more directory (s) is (are) selected (s) in one of the lists (Specialists, Neighbors, Buddies).
Un lien ajouté en mode Suggéré n'est pas stocké dans l'espace de stockage personnel du premier utilisateur car, à chaque nouvelle visite, il est recréé à partir du lien ajouté correspondant stocké chez le deuxième utilisateur, ou encore dans l'autre répertoire du premier utilisateur. A link added in Suggested mode is not stored in the personal storage of the first user because, at each new visit, it is recreated from the corresponding added link stored in the second user, or in the other directory of the first user.
*Le passage d'un lien ajouté du mode Suggéré au mode Refusé a pour effet de filtrer automatiquement ledit lien ajouté lors des accès ultérieurs à l'ensemble des liens ajoutés stockés dans l'espace mémoire du deuxième utilisateur, ou dans un autre répertoire du premier utilisateur, pour la même page. * The passage of an added link from the Suggested mode to the Denied mode has the effect of automatically filtering said added link during subsequent accesses to all the added links stored in the memory space of the second user, or in another directory of the second user. first user, for the same page.
Le passage au mode Accepté signifie que l'utilisateur valide le lien ajouté qui est en mode Suggéré. Cette action a pour effet : 1. de stocker ledit lien ajouté dans son espace de stockage personnel, de manière à ce qu'il lui soit présenté à nouveau avec chaque nouvelle présentation de la page à laquelle ledit lien ajouté est associé ; cette présentation a lieu même si ledit lien ajouté a été supprimé à la source (chez le deuxième utilisateur, ou dans l'autre répertoire du premier utilisateur) - ceci Switching to Accept mode means that the user validates the added link that is in the Suggested mode. This action has the effect of: 1. storing said added link in its personal storage space, so that it is presented again with each new presentation of the page to which said added link is associated; this presentation takes place even if the added link has been deleted at the source (at the second user, or in the other directory of the first user) - this
<Desc/Clms Page number 42><Desc / Clms Page number 42>
par opposition aux liens ajoutés en mode Suggéré qui ne sont plus présentés dès le moment où ils sont supprimés chez le deuxième utilisateur ; en outre, cette présentation a lieu même si la source (à savoir le deuxième utilisateur ou l'autre répertoire du premier utilisateur) n'est plus sélectionnée (a été décochée). as opposed to links added in Suggested mode that are no longer presented from the moment they are deleted at the second user; moreover, this presentation takes place even if the source (ie the second user or the other directory of the first user) is no longer selected (has been unchecked).
2. si le répertoire dans lequel ledit lien ajouté est rangé, est publié, de publier d'office (sauf instruction contraire de la part de l'utilisateur) ledit lien ajouté - ceci par opposition aux liens ajoutés en mode Suggéré qui eux ne seront pas publiés. 2. if the directory in which the said added link is stored, is published, publish automatically (unless the user otherwise instructs) said added link - this as opposed to the added links in Suggested mode which they will not not published.
L'insertion (manuelle ou par glisser-déposer) d'un lien ajouté sur une page entraîne d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré lui-même). The insertion (manual or drag-and-drop) of a link added to a page automatically causes it to be set to Accept mode (since the user has inserted it himself).
Section 6 - Détection de Répertoires Proches Présentation générale Le système détecte pour l'utilisateur l'existence d'autres utilisateurs qui partagent ses intérêts (et ses goûts) par rapport à une page courante qu'il est en train de visualiser et qui représente donc le contexte courant de ses intérêts. Section 6 - Detection of Close Directories Overview The system detects for the user the existence of other users who share its interests (and tastes) in relation to a current page that it is viewing and which therefore represents the current context of his interests.
Ainsi, par rapport à une page courante visualisée par un premier utilisateur, le système sélectionne les deuxièmes utilisateurs les plus proches , c'est-à-dire ayant, dans leur réseau de liens ajoutés publiés, d'une part ladite page, et d'autre part, autour de ladite page, l'ensemble le plus grand de liens ajoutés en commun avec le premier utilisateur. Thus, compared to a current page viewed by a first user, the system selects the second closest users, that is to say having, in their network of added links published, on the one hand said page, and d on the other hand, around said page, the largest set of links added in common with the first user.
Pour chacun des deuxièmes utilisateurs sélectionnés par le système, les liens ajoutés associés à ladite page qui ne figurent pas chez le premier utilisateur sont suggérés à ce dernier. For each of the second users selected by the system, the added links associated with said page that are not included in the first user are suggested to the latter.
En variante, la sélection des deuxièmes utilisateurs proches peut se faire par rapport à un ensemble de pages sélectionnées par le premier utilisateur, plutôt que par rapport à une seule page. On va décrire dans la suite le procédé de sélection à partir d'une seule page, l'homme de métier saura adapter cette méthode au cas de plusieurs pages. Alternatively, the selection of second close users can be done with respect to a set of pages selected by the first user, rather than compared to a single page. We will describe in the following the selection process from a single page, the skilled person will adapt this method to the case of several pages.
<Desc/Clms Page number 43> <Desc / Clms Page number 43>
Avantages La recherche des deuxièmes utilisateurs s'effectue de manière focalisée ; elle ne s'effectue pas en fonction de leur profil global d'intérêts (vis-à-vis du profil global d'intérêts du premier utilisateur). Ceci constitue un avantage tant au niveau de la pertinence du résultat que des performances d'exécution. Advantages The search for second users is done in a focused way; it is not based on their overall interest profile (vis-à-vis the overall interest profile of the first user). This is an advantage both in terms of the relevance of the result and performance performance.
Au niveau de la pertinence du résultat, l'avantage de la focalisation est de pouvoir comparer les profils des utilisateurs en faisant abstraction des éléments de ces profils qui ne sont pas dans le contexte qui intéresse l'utilisateur au moment courant. Autrement-dit, le nombre des éléments pertinents (par rapport au contexte courant) qui se trouvent être en commun entre le premier utilisateur et un deuxième utilisateur avec lequel il est comparé, d'une part n'est pas dilué dans la masse des éléments qui sont en commun globalement, et d'autre part peut être relativisé par rapport à la taille du domaine du contexte courant. In terms of the relevance of the result, the advantage of the focus is to be able to compare the profiles of the users by disregarding the elements of these profiles that are not in the context that interests the user at the current time. In other words, the number of relevant elements (relative to the current context) that are found to be in common between the first user and a second user with whom it is compared, on the one hand, is not diluted in the mass of the elements. which are globally common, and on the other hand can be relativized with respect to the size of the domain of the current context.
Pour focaliser les recherches de profils voisins, l'état de la technique connue consiste à partitionner les éléments des profils selon des catégories adoptées par l'ensemble des utilisateurs, qui permettent de les classer globalement ou par rapport à des attributs qui les caractérisent. On spécifie ainsi leur appartenance aux domaines respectifs pris en compte lors des recherches, ce qui permet d'élaguer les éléments des profils qui ne sont pas dans le domaine d'intérêt courant de l'utilisateur. Cependant, la catégorisation des éléments des profils nécessite pour les utilisateurs de s'entendre sur les vocabulaires de catégories à partager. Or cette approche n'est pas avantageusement adaptée à des systèmes largement décentralisés tels que l'Internet. L'avantage essentiel du procédé selon cet aspect de la présente invention est de focaliser la recherche sans devoir classer les éléments des profils selon des catégories partagées, et donc sans avoir à s'entendre sur des vocabulaires communs de catégories. In order to focus the searches of neighboring profiles, the state of the prior art consists in partitioning the elements of the profiles according to categories adopted by all the users, which make it possible to classify them globally or in relation to attributes that characterize them. Thus, their membership in the respective domains taken into account during the searches is specified, which makes it possible to prune the elements of the profiles that are not in the current interest area of the user. However, the categorization of profile elements requires users to agree on the vocabularies of categories to share. However, this approach is not advantageously adapted to widely decentralized systems such as the Internet. The essential advantage of the method according to this aspect of the present invention is to focus the search without having to classify the elements of the profiles according to shared categories, and thus without having to agree on common vocabularies of categories.
Au niveau des performances, la sélection peut se faire sur la base d'une recherche en accès direct grâce à une structure de données (telle qu'un fichier inversé) qui permette de retrouver les deuxièmes utilisateurs proches directement à partir de ladite page, ou même à partir de ladite page et de ses liens ajoutés. At the performance level, the selection can be done on the basis of a search in direct access thanks to a data structure (such as an inverted file) which makes it possible to find the second close users directly from said page, or even from that page and its added links.
<Desc/Clms Page number 44> <Desc / Clms Page number 44>
Détails de la détection de Répertoires Proches Comme les utilisateurs peuvent placer des mêmes liens ajoutés dans des répertoires différents, le procédé peut servir à sélectionner des répertoires au lieu d'utilisateurs. Notamment, le système peut avantageusement servir à sélectionner ; - des répertoires proches du premier utilisateur, - plusieurs répertoires d'un même deuxième utilisateur. Detection Details of Near Directories As users can place the same links added in different directories, the process can be used to select directories instead of users. In particular, the system can advantageously serve to select; - directories close to the first user, - several directories of the same second user.
Dans la suite, on décrira donc l'approche consistant à sélectionner des répertoires plutôt que des utilisateurs. In the following, we will describe the approach of selecting directories rather than users.
Comme déjà indiqué pour le cas de la recherche des utilisateurs les plus proches, la sélection des répertoires les plus proches peut également se faire très efficacement grâce à une structure de données (tel qu'un fichier inversé) permettant de retrouver en accès direct les répertoires contenant une page donnée (la page courante de l'utilisateur). L'accès direct peut même se baser sur la page donnée et les liens Ajoutés qui lui sont associés. As already indicated for the case of searching for the closest users, the selection of the closest directories can also be done very efficiently thanks to a data structure (such as an inverted file) allowing to find in direct access the directories containing a given page (the current page of the user). Direct access can even be based on the given page and the associated links associated with it.
On notera à cet égard que les liens Ajoutés à partir desquels est lancée la sélection sont ceux du répertoire courant (ou ceux de l'ensemble des répertoires courants sélectionnés par l'utilisateur, comme décrit dans la section Création de liens Ajoutés dans des Répertoires ). Note in this regard that the Added links from which the selection is started are those of the current directory (or those of all the current directories selected by the user, as described in Creating Links in Directories). .
La figure 57 schématise les deux types d'exécution de requête d'accès aux données (dans le cas où les données sont rangées dans des tables relationnelles) : - l'accès direct aux liens Ajoutés à partir : - d'une ou plusieurs pages, - d'un utilisateur, - dans un (ou plusieurs) répertoires ; - l'accès direct aux utilisateurs et leurs répertoires à partir : - d'une (ou plusieurs) nages. Figure 57 shows the two types of data access request execution (in case the data is stored in relational tables): - direct access to the links Added from: - one or more pages - a user, - in one (or more) directories; - direct access to users and their directories from: - one (or more) swimming pools.
<Desc/Clms Page number 45> <Desc / Clms Page number 45>
- et de ses liens ajoutés (obtenus par une requête du premier type). - and its added links (obtained by a request of the first type).
Rappelons que le premier type de requête est celui permettant les fonctionnalités Retrouver des liens Ajoutés décrites plus haut, alors que le deuxième type de requête est celle de Détection de Répertoires Proches , objet de la présente section. Recall that the first type of request is the one that allows the Recover Added Links features described above, while the second type of request is the "Detect Close Directories", which is the subject of this section.
Les répertoires les plus proches, sélectionnés automatiquement, sont présentés à l'utilisateur dans la deuxième liste (intitulée voisins d'intérêt ) illustrée de manière schématique dans la figure 55a. Comme déjà décrit dans la section précédente ( Publication de liens ajoutés ), l'utilisateur peut cocher un ou plusieurs des répertoires qui lui sont proposés par le système. The nearest directories, automatically selected, are presented to the user in the second list (called neighbors of interest) schematically illustrated in Figure 55a. As already described in the previous section (Publication of added links), the user can check one or more of the directories offered by the system.
En résultat, de nouveaux liens ajoutés, puisés dans ce ou ces répertoires, lui sont suggérés en association avec la page courante (conformément à la description de la section précédente). As a result, new links added, drawn from this or these directories, are suggested in association with the current page (as described in the previous section).
Le système peut aussi offrir à l'utilisateur des moyens de tenter de se mettre en relation - par des moyens de communication synchrone sur Internet tels que la messagerie simultanée, la visioconférence, etc. - avec les utilisateurs possédant ces répertoires qui seraient en ligne en même temps que l'utilisateur. The system can also provide the user with the means to attempt to connect - via synchronous communication means on the Internet such as simultaneous messaging, video conferencing, and so on. - with the users having these directories which would be online at the same time as the user.
En effet, dans les deux types d'architecture client-serveur représentés respectivement sur les figures 44 et 45, les requêtes que les utilisateurs forment au moyen de leur navigateur, sont communiquées au serveur dans lequel est exécuté le système. Ce dernier est donc capable de savoir si les utilisateurs en question sont en ligne et si on peut communiquer avec eux. In fact, in the two types of client-server architecture represented respectively in FIGS. 44 and 45, the requests that the users form by means of their browser are communicated to the server in which the system is executed. The latter is therefore able to know if the users in question are online and if we can communicate with them.
L'utilisateur peut aussi se mettre en relation par communication asynchrone, notamment par courrier électronique ou dans le cadre de forums de discussion, avec ces utilisateurs proches (que lui fait découvrir le système), même s'ils ne sont pas en ligne en même temps. The user can also get in touch by asynchronous communication, in particular by email or in the context of discussion forums, with these close users (whom he makes discover the system), even if they are not online at the same time. time.
On notera à cet égard, que grâce aux moyens déjà mentionnés de sélection en accès direct d'utilisateurs à partir de pages qui les intéressent (en plus d'une structure de chemin d'accès direct aux pages à partir d'utilisateurs et répertoires) le système est apte à construire, avec de très bonnes performances, des communautés d'utilisateurs partageant des mêmes centres d'intérêts. Les sujets de discussion créés sont ceux pour lesquels un ensemble de pages de It should be noted in this respect, that thanks to the already mentioned means of selection in direct access of users from pages of interest to them (in addition to a structure of direct path to pages from users and directories) the system is able to build, with very good performances, communities of users sharing the same interests. The discussion topics created are those for which a set of pages of
<Desc/Clms Page number 46><Desc / Clms Page number 46>
taille suffisante a intéressé un grand nombre d'utilisateurs. Ces derniers sont alors invités à participer à un forum de discussion ayant comme thème cet ensemble de pages. Sufficient size has interested a large number of users. They are then invited to participate in a discussion forum having as theme this set of pages.
On va maintenant décrire la méthode de calcul de proximité. We will now describe the method of calculating proximity.
En partant de la page courante (c'est-à-dire la page visualisée par le premier utilisateur) avec ses liens ajoutés dans le répertoire courant - ou encore avec l'union des liens ajoutés associés à cette page dans les répertoires courants sélectionnés par l'utilisateur - le système trouve parmi les autres répertoires (du premier utilisateur et/ou parmi les répertoires publiés de seconds utilisateurs) contenant ladite page, ceux qui ont le score de proximité le plus élevé autour de ladite page. Starting from the current page (that is, the page viewed by the first user) with its links added in the current directory - or with the union of the added links associated with this page in the current directories selected by the user - the system finds among the other directories (of the first user and / or among the published directories of second users) containing said page, those which have the highest proximity score around said page.
En résultat, le système propose à l'utilisateur ces répertoires dans l'ordre de leur proximité. As a result, the system offers the user these directories in the order of their proximity.
La proximité est calculée à différents niveaux. Proximity is calculated at different levels.
Au premier niveau, la proximité est fonction du nombre de liens ajoutés communs associés à la page courante. La figure 58 illustre la détermination de la proximité au niveau 1. At the first level, proximity is a function of the number of common added links associated with the current page. Figure 58 illustrates the determination of proximity at level 1.
Au niveau 2, la proximité est également fonction du nombre de liens ajoutés communs associés aux pages reliées à la page courante par lien ajouté, comme l'illustre la figure 59. At Level 2, proximity is also a function of the number of common added links associated with pages linked to the current page by added link, as shown in Figure 59.
Au niveau n, la proximité est fonction du nombre de liens ajoutés communs associés aux pages reliées indirectement à la page courante par lien ajouté, n étant le nombre d'étapes d' indirection. At level n, proximity is a function of the number of common added links associated with pages indirectly related to the current page by added link, where n is the number of indirection steps.
Proximité transitive On va décrire ci-après un perfectionnement du procédé de calcul de proximité entre deux répertoires décrit plus haut. Transitive Proximity An improvement of the proximity calculation method between two directories described above will be described below.
Le système peut enrichir son évaluation de proximité en anticipant les propagations probables de liens ajoutés dans le futur. The system can enrich its proximity assessment by anticipating the likely propagations of links added in the future.
<Desc/Clms Page number 47> <Desc / Clms Page number 47>
En effet, les liens ajoutés qui au moment courant ne sont pas encore propagés (suggérés) d'un répertoire proche à un autre, le seront probablement dans le futur, et, après acceptation éventuelle, seront prêts à être suggérés à un troisième répertoire (et ainsi de suite). Le système peut enrichir son estimation de proximité en anticipant ces propagations (suggestions) et acceptations, et en calculant la proximité d'un répertoire en prenant en compte cette anticipation. Indeed, the added links which at the current moment are not yet propagated (suggested) from one close repertoire to another, will probably be in the future, and, after possible acceptance, will be ready to be suggested to a third repertoire ( And so on). The system can enrich its estimate of proximity by anticipating these propagations (suggestions) and acceptances, and by calculating the proximity of a repertoire taking into account this anticipation.
Ceci peut se faire par deux approches différentes : - soit par simulation prédictive : La simulation prédictive prend en compte la probabilité d'acceptation (telle que décrite plus loin) des futures suggestions de liens ajoutés, dans les répertoires proches du répertoire courant de l'utilisateur. This can be done by two different approaches: - either by predictive simulation: The predictive simulation takes into account the probability of acceptance (as described later) of the future suggestions of links added, in the directories close to the current directory of the user.
Le procédé de simulation prédictive consiste à simuler la propagation de liens ajoutés, à partir de répertoires à priori non proches du répertoire courant, vers des répertoires proches du répertoire courant. Suite à la propagation (simulée) d'un lien ajouté à partir de chaque répertoire non proche (vers un répertoire proche), un coefficient de probabilité d'acceptation (décrit plus loin) lié à ce répertoire non proche est associé audit lien ajouté. The predictive simulation method consists of simulating the propagation of added links, from directories a priori not close to the current directory, to directories close to the current directory. Following the propagation (simulated) of a link added from each directory not close (to a near directory), a probability of acceptance coefficient (described below) related to this non-close directory is associated with said added link.
La proximité peut alors être affinée en tenant compte des nouveaux liens ajoutés (introduits par la simulation) pondérés par leur coefficient de probabilité d'acceptation. The proximity can then be refined taking into account the new added links (introduced by the simulation) weighted by their acceptance probability coefficient.
Le calcul de proximité peut être affiné progressivement, en prenant en compte des niveaux de plus en plus indirects. En effet, la simulation prédictive peut se faire à des profondeurs d'indirection de plus en plus grandes : ainsi un lien ajouté peut être propagé (par simulation) dans un répertoire proche du répertoire proche en question, avant d'arriver dans ce dernier, et ainsi de suite. Pour chaque nouveau répertoire, le système applique au lien ajouté le coefficient de probabilité d'acceptation associé au répertoire d'où il a été puisé. A l'arrivée dans le répertoire proche en question, les liens ajoutés (suggérés par simulation) ont un The proximity calculation can be refined gradually, taking into account more and more indirect levels. Indeed, the predictive simulation can be done at increasingly greater depths of indirection: thus an added link can be propagated (by simulation) in a directory close to the close repertoire in question, before arriving in the latter, And so on. For each new directory, the system applies to the added link the acceptance probability coefficient associated with the directory from which it was drawn. Upon arrival in the close directory in question, the added links (suggested by simulation) have a
<Desc/Clms Page number 48><Desc / Clms Page number 48>
coefficient de probabilité d'acceptation qui représente la composition des probabilités d'acceptation dans les différents répertoires où ils sont passés. acceptance probability coefficient which represents the composition of the probabilities of acceptance in the different directories where they are passed.
Optionnellement, l'utilisateur peut paramétrer le système pour lui demander de lui suggérer directement les liens ajoutés propagés par simulation dans le répertoire proche (bien que ces liens ajoutés ne soient pas encore acceptés par le possesseur du répertoire proche). Optionally, the user can configure the system to ask him to directly suggest the added links propagated by simulation in the near directory (although these added links are not yet accepted by the owner of the near directory).
De manière progressivement plus indirecte, l'utilisateur peut demander au système de lui suggérer directement les liens ajoutés propagés par simulation dans les répertoires proches d'un répertoire proche, et ainsi de suite. Lors des propagations d'un répertoire à l'autre, les coefficients de probabilité d'acceptation sont composés et les suggestions peuvent être effectuées dans l'ordre de ces coefficients. In a more indirect way, the user can ask the system to directly suggest added links propagated by simulation in directories close to a nearby directory, and so on. During propagations from one directory to another, the acceptance probability coefficients are composed and the suggestions can be made in the order of these coefficients.
- soit selon l'approche décrite ci-dessous et appelée calcul de proximité transitive et qui offre l'avantage d'une plus grande rapidité de calcul. - or according to the approach described below and called transitive proximity calculation and which offers the advantage of a greater speed of calculation.
Considérons trois répertoires R1,R2 et R3. La proximité transitive de R3 pour RI est fonction du minimum entre la proximité de R2 pour RI et la proximité de R3 pour R2 . Consider three directories R1, R2 and R3. The transitive proximity of R3 for R1 is a function of the minimum between the proximity of R2 for RI and the proximity of R3 for R2.
Le principe sous-jacent est, en effet, que dans une chaîne de propagations potentielles de liens ajoutés, la proximité transitive est fonction de la proximité du maillon le plus faible de la chaîne. The underlying principle is, in fact, that in a chain of potential propagations of added links, the transitive proximity is a function of the proximity of the weakest link in the chain.
A la valeur obtenue (en prenant le minimum des proximités), on doit aussi appliquer la composition des coefficients de probabilité d'acceptation des répertoires respectifs (acceptation de R2 par RI et de R3 par R2). At the value obtained (taking the minimum of the proximities), one must also apply the composition of the coefficients of probability of acceptance of the respective repertoires (acceptance of R2 by RI and of R3 by R2).
Un exemple est illustré sur la figure 60 : - la proximité de R2 pour RI est de 2 ; en effet les liens ajoutés pointant sur les pages p2 et p3 sont en commun ; An example is shown in Figure 60: - the proximity of R2 for RI is 2; indeed the added links pointing to pages p2 and p3 are in common;
<Desc/Clms Page number 49><Desc / Clms Page number 49>
- la proximité de R3 pour R2 est de 1 (p5 seul est en commun) ; il en découle que la Proximité Transitive de R3 pour RI est de 1 (le minimum entre 2 et 1), alors que la proximité de R3 pour RI n'est que de 0 (aucun lien ajouté en commun). the proximity of R3 for R2 is 1 (only p5 is in common); it follows that the Transitive Proximity of R3 for RI is 1 (the minimum between 2 and 1), whereas the proximity of R3 for RI is only 0 (no link added in common).
Bien évidemment, la proximité transitive peut aussi être calculée dans une chaîne plus longue de propagations potentielles, en prenant le minimum des proximités entre les répertoires pris séquentiellement dans ladite chaîne et en lui appliquant la composition des coefficients de probabilité d'acceptation existant pour tous les maillons de la chaîne. Of course, the transitive proximity can also be calculated in a longer chain of potential propagations, taking the minimum of the proximities between the repertoires taken sequentially in said chain and applying to it the composition of the coefficients of acceptance probability existing for all the links in the chain.
Coefficient de probabilité d'acceptation La détermination de la probabilité d'acceptation, dans un premier répertoire, d'un lien ajouté suggéré provenant d'un deuxième répertoire peut se baser sur l'historique des acceptations de liens ajoutés suggérés à partir de ce deuxième répertoire. Acceptance probability coefficient The determination of the probability of accepting, in a first directory, a suggested added link from a second directory may be based on the history of suggested added link acceptances from that second directory. directory.
Dans ce sens, chaque premier répertoire maintient un compteur pour chaque deuxième répertoire à partir duquel il a reçu des suggestions dans le passé. Bien entendu, ce compteur peut être maintenu pendant une durée limitée dans le temps. La valeur de ce compteur représente le coefficient de probabilité d'acceptation. In this sense, each first directory maintains a counter for each second directory from which it has received suggestions in the past. Of course, this counter can be maintained for a time limited in time. The value of this counter represents the acceptance probability coefficient.
Le coefficient de probabilité d'acceptation est fonction du nombre de liens ajoutés acceptés (en mode normal ou en mode gelé) moins le nombre de liens ajoutés refusés rapporté au nombre (total) de liens ajoutés suggérés. The acceptance probability coefficient is a function of the number of accepted links accepted (in normal mode or in frozen mode) minus the number of refused links added to the number (total) of suggested added links.
Ce procédé peut comporter diverses sophistications que saura mettre en #uvre l'homme du métier, et notamment une pondération permettant de donner un poids plus fort aux acceptations/refus plus récents. This method may include various sophistications that will be implemented by the skilled person, and in particular a weighting to give a stronger weight to more recent acceptances / refusals.
Pour un nouveau répertoire, c'est-à-dire à partir duquel aucun lien ajouté n'avait été suggéré dans le passé vers le répertoire courant de l'utilisateur, le système peut se baser sur un répertoire intermédiaire (ayant un historique dans le répertoire courant et le nouveau répertoire ayant un historique chez lui) pour déterminer la probabilité d'acceptation. Ceci s'effectue selon l'approche suivante : For a new directory, ie from which no added link has been suggested in the past to the current directory of the user, the system can be based on an intermediate directory (having a history in the current directory and the new directory with a history at home) to determine the probability of acceptance. This is done according to the following approach:
<Desc/Clms Page number 50><Desc / Clms Page number 50>
Si un répertoire RI jouit d'un fort coefficient de probabilité d'acceptation (CO-1) auprès d'un répertoire RO, et qu'un répertoire R2 a un fort coefficient de probabilité d'acceptation (CI-2) auprès du répertoire RI, alors, par transitivité, R2 aura un fort coefficient de probabilité d'acceptation (CO-2) auprès du répertoire RO. If an RI directory has a high coefficient of probability of acceptance (CO-1) from an RO directory, and a R2 directory has a high coefficient of probability of acceptance (CI-2) from the repertoire RI, then, by transitivity, R2 will have a high coefficient of probability of acceptance (CO-2) with the RO repertoire.
Plus précisément, la valeur CO-1 reflète le degré de confiance que le possesseur du répertoire RO accorde au contenu du répertoire RI. En effet, puisqu'en général le possesseur du répertoire RO accepte les suggestions provenant du répertoire RI, il accorde un degré de confiance relativement fort à la validité de l'acte d'acceptation dans le répertoire RI. En d'autres termes, le possesseur du répertoire RO considère que le possesseur du répertoire RI a un bonjugement en matière d'acceptation et de refus dans ledit répertoire RI. More precisely, the value CO-1 reflects the degree of confidence that the owner of the RO directory gives to the contents of the directory RI. Indeed, since in general the owner of the RO directory accepts the suggestions from the directory RI, he gives a relatively high degree of confidence in the validity of the act of acceptance in the directory RI. In other words, the owner of the directory RO considers that the owner of the directory RI has a good judgment in terms of acceptance and refusal in said directory RI.
Or il se trouve que le possesseur du répertoire RI a accepté dans ce répertoire une grande partie des suggestions provenant du répertoire R2 (c'est-à-dire que la valeur CI-2 est élevée). Puisque son jugement est bon aux yeux du possesseur du répertoire RO, le système peut conclure que le possesseur du répertoire RO va probablement aussi accepter les suggestions provenant du répertoire R2. Now it happens that the owner of the directory RI has accepted in this directory a large part of the suggestions from the directory R2 (that is to say, the value CI-2 is high). Since his judgment is good in the eyes of the owner of the RO directory, the system can conclude that the owner of the RO directory will probably also accept suggestions from the R2 directory.
Par le même raisonnement, si la valeur CO-1 est forte et si la valeur CI-2 est faible, alors, le système peut conclure que la valeur CO-2 sera faible. By the same reasoning, if the CO-1 value is high and the CI-2 value is low, then the system can conclude that the CO-2 value will be low.
Bien évidemment, la profondeur de la transitivité (le nombre des intermédiaires) peut être plus grande : le système peut se baser sur plusieurs intermédiaires qui se sont fortement validés dans le passé (de préférence le passé récent - voir plus haut à propos de la pondération) pour prédire qu'un nouveau répertoire sera probablement validé ou pas. Mais, bien évidemment, la fiabilité du coefficient obtenu baissera avec la profondeur de la transitivité. Of course, the depth of transitivity (the number of intermediaries) can be greater: the system can be based on several intermediaries that have strongly validated in the past (preferably the recent past - see above on the weighting ) to predict that a new directory will probably be validated or not. But, of course, the reliability of the obtained coefficient will decrease with the depth of the transitivity.
On a déjà mentionné que la détection de répertoires proches permet de présenter ces répertoires à l'utilisateur dans la deuxième liste (intitulée voisins d'intérêt ) illustrée de manière schématique dans la figure 55a. Le coefficient de probabilité d'acceptation est un indicateur qui est présenté avec chacun de ces répertoires (il peut par exemple être intitulé It has already been mentioned that the detection of close directories makes it possible to present these directories to the user in the second list (called neighbors of interest) illustrated schematically in FIG. 55a. The probability of acceptance coefficient is an indicator that is presented with each of these directories (it can for example be titled
<Desc/Clms Page number 51><Desc / Clms Page number 51>
statistiques d'acceptation ). L'utilisateur préférera cocher des répertoires qui ont ce coefficient le plus élevé possible. acceptance statistics). The user will prefer to check directories that have this highest coefficient possible.
Section 7 - Suggestion de liens ajoutés par l'administrateur d'un site Présentation L'administrateur d'un site ( Webmaster selon la terminologie anglo-saxonne) spécifie, dans le code source de la page à laquelle accède un utilisateur, ou encore dans une table contenue dans un serveur approprié et dont la clé est l'adresse de ladite page, l'ensemble des adresses des répertoires (dits Spécialistes ) qui peuvent être proposés à l'utilisateur dans la première liste de la figure 55a. Section 7 - Suggestion of links added by the administrator of a site Presentation The administrator of a site (Webmaster according to the English terminology) specifies, in the source code of the page to which a user accesses, or in a table contained in a suitable server and whose key is the address of said page, all the addresses of directories (so-called Specialists) that can be offered to the user in the first list of Figure 55a.
Les deux étapes suivantes peuvent être mises en #uvre dans l'exploitation de ces répertoires (répertoires candidats) pour un utilisateur donné : 1. En première étape, le système ne retient parmi les répertoires candidats que ceux qui sont les plus proches du répertoire courant (au sens de la section précédente Détection de Répertoires Proches ). Toutefois, cette approche n'est valide que si la page à laquelle l'utilisateur a accédé n'est pas nouvelle pour celui-ci, et que l'utilisateur lui avait déjà associé des liens ajoutés, de manière à ce que le système puisse les comparer avec ceux figurant dans chacun des répertoires candidats spécifiés par l'administrateur (pour déterminer dans quelle mesure ce répertoire est proche, et ne retenir ainsi que les répertoires candidats les plus proches). The following two steps can be implemented in the exploitation of these directories (candidate directories) for a given user: 1. In the first step, the system retains among the candidate directories only those that are closest to the current directory (in the sense of the previous section Detection of Close Directories). However, this approach is valid only if the page accessed by the user is not new to the user, and the user has already added links to it, so that the system can compare them with those in each of the candidate directories specified by the administrator (to determine how close this directory is, and thus retain only the nearest candidate directories).
Si, au contraire, la page à laquelle l'utilisateur accède est nouvelle pour lui, le système peut, optionnellement, tenter tout de même de sélectionner des répertoires candidats proches, en comparant les liens ajoutés qui se trouvent dans le répertoire courant de l'utilisateur (ces liens ajoutés n'étant pas associés avec la page courante, puisque celle-ci est nouvelle, mais à d'autres pages) avec les liens ajoutés des répertoires candidats, en partant de pages situées à des niveaux progressivement plus éloignés de la page courante dans les répertoires candidats. If, on the contrary, the page to which the user accesses is new for him, the system can, optionally, still try to select nearby candidate directories, by comparing the added links which are in the current directory of the user (these added links are not associated with the current page, since this is new, but to other pages) with the added links of the candidate directories, starting from pages located at levels progressively farther from the current page in candidate directories.
<Desc/Clms Page number 52><Desc / Clms Page number 52>
En cas d'échec, le système peut proposer les premiers répertoires spécifiés par l'administrateur du site comme devant être présentés par défaut. In case of failure, the system may propose the first directories specified by the site administrator to be presented by default.
2. Le système ne retient, dans les répertoires choisis en première étape, que les liens ajoutés les plus avantageux selon un ensemble de critères de pertinence dont le poids relatif peut être réglé par l'administrateur du site. 2. The system retains, in the directories chosen in the first step, only the most advantageous added links according to a set of relevance criteria whose relative weight can be set by the site administrator.
A partir des répertoires Spécialistes candidats (et/ou des répertoires proches voisins d'intérêt ), le système peut aussi synthétiser un premier répertoire spécialiste de manière personnalisée et le proposer à l'utilisateur par défaut. Le contenu de ce nouveau répertoire est créé en regroupant des liens ajoutés sélectionnés dans les répertoires candidats, qui à priori sont potentiellement les plus pertinents pour l'utilisateur. From the Candidate Specialist directories (and / or near-neighbor directories of interest), the system can also synthesize a first specialist directory in a personalized way and propose it to the default user. The content of this new directory is created by grouping selected links selected in the candidate directories, which are potentially the most relevant for the user.
En relation avec chaque lien ajouté, l'administrateur peut spécifier : - la manière dont ledit lien ajouté va être graphiquement présenté avec la page courante ; - et la manière dont le lien ajouté inverse sera graphiquement présenté quand la page vers laquelle pointe ledit lien ajouté pointe va être visualisée. In relation to each added link, the administrator may specify: - the manner in which said added link will be graphically presented with the current page; - and the way in which the added reverse link will be graphically presented when the page towards which points said added link tip will be viewed.
Répertoires de la liste intitulée Spécialistes Le document source d'une page à laquelle accède l'utilisateur (par exemple une page écrite en langage HTML) peut contenir, parmi les données non affichées à l'écran, l'adresse d'un premier répertoire (contenant des liens ajoutés) à proposer par défaut à l'utilisateur. Directories in the list entitled Specialists The source document of a page accessed by the user (for example a page written in HTML language) may contain, among the data not displayed on the screen, the address of a first directory (containing links added) to propose by default to the user.
Cette adresse (composée par exemple du pseudonyme de l'utilisateur et du chemin du répertoire que l'administrateur du site a choisis) est utilisée par le système pour être présentée en première position dans la première liste ( Spécialistes ) de la figure 55a. This address (composed for example of the user's pseudonym and the directory path chosen by the site administrator) is used by the system to be presented first in the first list (Specialists) in Figure 55a.
Cette adresse est cochée (sélectionnée) par défaut par le système, ce qui signifie que l'utilisateur est implicitement considéré comme souhaitant se faire suggérer les liens ajoutés du répertoire en question dans sa propre liste de liens ajoutés (conformément à la description faite dans la section Publication de liens ajoutés ). This address is checked (selected) by default by the system, which means that the user is implicitly considered as wishing to be suggested the added links of the directory in question in his own list of added links (as described in the description below). section Posting Added Links).
<Desc/Clms Page number 53> <Desc / Clms Page number 53>
Dans le document source, l'administrateur peut aussi spécifier des adresses supplémentaires de répertoires d'autres spécialistes. Celles-ci serviront d'éléments optionnels dans la première liste ( Spécialistes) de répertoires proposés à l'utilisateur, mais ne seront pas cochées par défaut. In the source document, the administrator can also specify additional addresses of directories of other specialists. These will be used as optional elements in the first list (Specialists) of directories proposed to the user, but will not be checked by default.
Alternativement, ces adresses de répertoires spécialistes, au lieu d'être notées dans le document source de la page à laquelle accède l'utilisateur, peuvent être stockées sur un serveur dans une table qui fournit la correspondance entre l'adresse de la page et les adresses des répertoires Spécialistes qui lui sont attribués. Dans le cas où ledit serveur est aussi le serveur de liens ajoutés pour l'utilisateur courant, cette alternative permet d'éviter un allerretour supplémentaire sur le serveur de liens ajoutés dans le cas de l'architecture de la figure 44. Alternatively, these specialized directory addresses, instead of being noted in the source document of the page accessed by the user, can be stored on a server in a table that provides the correspondence between the address of the page and the Directory addresses Specialists assigned to it. In the case where said server is also the added link server for the current user, this alternative makes it possible to avoid an additional return on the added link server in the case of the architecture of FIG. 44.
Sélection parmi les répertoires candidats Le nombre d'adresses de répertoires Spécialistes (spécifiées par l'administrateur) peut être bien plus élevé que le nombre de répertoires qui seront effectivement présentés à l'utilisateur. Un nombre maximal de répertoires à présenter peut être fixé par l'administrateur et/ou par l'utilisateur. Selecting Candidate Directories The number of Specialist directory addresses (specified by the administrator) can be much greater than the number of directories that will actually be presented to the user. A maximum number of directories to be presented can be set by the administrator and / or by the user.
Comme déjà mentionné brièvement dans la présentation faite plus haut, parmi les répertoires candidats, le système choisit les répertoires les plus proches de l'utilisateur. Ceci s'effectue : - soit directement selon la technique décrite plus haut dans la section Détection de Répertoires Proches , - soit selon une extension de cette technique, appelé Proximité Décalée , que l'on va maintenant décrire. As already mentioned briefly in the presentation above, among the candidate directories, the system selects the directories closest to the user. This is done either: - either directly according to the technique described above in the section Detection of Close Directories, - or according to an extension of this technique, called Proximity Offset, which will now be described.
Proximité Décalée Dans le cas où la page courante (visualisée par l'utilisateur) : Proximity Offset In case the current page (viewed by the user):
<Desc/Clms Page number 54><Desc / Clms Page number 54>
- ne possède aucun lien ajouté (notamment parce que l'utilisateur y accède pour la première fois dans son répertoire courant) - ou n'a pas suffisamment de liens ajoutés en commun avec aucun des répertoires candidats(par rapport à un critère quantitatif fixé lors du paramétrage du système), le système, n'ayant pas la possibilité de détecter (par le procédé décrit dans la section Détection de Répertoires Proches ), parmi les répertoires candidats, les répertoires les plus proches , sélectionne les répertoires candidats par les étapes suivantes : a. le système retient les répertoires candidats offrant le plus grand nombre de pages d'éloignement de niveau 1 (c'est-à-dire des pages pointées par des liens ajoutés associés à la page courante) qui soient en commun, b. pour chacune des pages d'éloignement de niveau 1 qui sont en commun, le système calcule la Proximité (tel que décrit dans la section Détection de Répertoires Proches ) en partant de ces pages. - does not have any added links (notably because the user accesses them for the first time in his current directory) - or does not have enough links added in common with any of the candidate directories (in relation to a quantitative criterion set during system setting), since the system does not have the possibility of detecting (by the method described in the section Detection of close directories), among the candidate directories, the nearest directories, selects the candidate directories by the following steps : at. the system retains the candidate directories with the highest number of Tier 1 removal pages (ie, pages pointed to by added links associated with the current page) that are in common, b. for each of the level 1 remoteness pages that are in common, the system calculates the Proximity (as described in the section Detecting Close Directories) from these pages.
La Proximité Décalée pour le répertoire candidat est fonction des Proximités ainsi déterminées. The Proximity Offset for the candidate directory is a function of the Proximities thus determined.
Au final, le système choisit les répertoires candidats offrant les valeurs les plus élevées de proximité Décalée déterminées comme décrit ci-dessus. In the end, the system selects candidate directories offering the highest values of proximity Offset determined as described above.
Dans le cas où le résultat de la recherche du point a. n'est pas suffisamment satisfaisant, le système peut éventuellement rechercher, dans le répertoire courant, des pages situées à des niveaux progressifs d'éloignement dans les répertoires candidats (Proximité Décalée d'éloignement > 1). In case the result of the search of the point a. is not satisfactory enough, the system can possibly search, in the current directory, pages located at progressive levels of remoteness in the candidate directories (Proximity Shifted away> 1).
Au point b. , le niveau de profondeur de recherche de Proximité peut éventuellement être augmenté ou diminué (le cas de recherche le moins coûteux en ressources informatiques étant celui avec une profondeur de niveau 0, c'est-à-dire en court-circuitant le point b. ). In point b. , the Proximity search depth level can optionally be increased or decreased (the least expensive search case in computing resources being the one with level 0 depth, that is, by shorting the point b. ).
<Desc/Clms Page number 55> <Desc / Clms Page number 55>
La figure 61 illustre la détermination de proximité décalée d'éloignement 1 pour un répertoire candidat. Dans cet exemple, le système trouve, dans le répertoire courant de l'utilisateur : - deux pages en commun (p1et p2), - pour la page pl du répertoire candidat, une valeur de proximité égale à deux liens ajoutés sur trois ; et pour la page p2, une valeur de proximité égale à un lien ajouté sur deux. Fig. 61 illustrates the offset out-of-proximity determination 1 for a candidate repertoire. In this example, the system finds, in the current directory of the user: - two pages in common (p1 and p2), - for the page p1 of the candidate directory, a proximity value equal to two links added to three; and for page p2, a proximity value equal to one link added to two.
On notera que cette technique de calcul de proximité décalée à partir d'un niveau progressif d'éloignement en partant de la page courante peut également être utilisée de manière générale pour rechercher des répertoires proches (notamment parmi un ensemble d'utilisateurs), en complément de la technique de calcul de proximité décrite dans la section Détection de Répertoires Proches . Note that this proximity calculation technique shifted from a progressive level of distance from the current page can also be used in general to search for nearby directories (in particular among a set of users), in addition of the proximity calculation technique described in the section on Detecting Close Directories.
La figure 62 illustre ainsi la détermination de proximité décalée d'éloignement 1 d'un répertoire B par rapport à une page courante pO dans un Répertoire A. On observe que dans cet exemple, la détermination de proximité tel que décrite dans la section Détection de Répertoires Proches ) aurait échoué puisque la page pO n'existe pas dans le répertoire B. FIG. 62 thus illustrates the determination of the offset 1 away proximity of a directory B with respect to a current page p0 in a directory A. It will be observed that in this example, the proximity determination as described in the section Detection of Close Directories) would have failed since the pO page does not exist in the B directory.
Sélectionparmi les liens ajoutés Les liens ajoutés contenus dans les répertoires candidats sélectionnés (c'est-à-dire les Spécialistes proposés dans la première liste de la figure 55a) peuvent comporter bien plus de liens ajoutés (en mode Accepté ou Gelé ) que ceux qui seront suggérés aux utilisateurs. En effet, le système est apte à sélectionner les liens ajoutés les plus pertinents pour chaque utilisateur qui les recevra. Ainsi la suggestion de liens ajoutés se fait de manière personnalisée . La sélection est effectuée par exemple en fonction d'un ou plusieurs des critères suivants (sélectionnés notamment en fonction des ressources qu'ils nécessitent à priori pour leur mise en #uvre): - l'intérêt potentiel du lien ajouté en question (dit lien ajouté candidat ) pour l'utilisateur : comme déjà mentionné dans la section Création de liens ajoutés dans des Répertoires , les liens ajoutés sont bidirectionnels, c'est-à-dire qu'un lien ajouté associé à une page Pl et pointant sur une page P2 implique (dès qu'il est Accepté) la création du lien ajouté associé à Selecting from the added links The added links contained in the selected candidate directories (that is to say the Specialists proposed in the first list of figure 55a) can include many more links added (in Accepted or Frozen mode) than those will be suggested to users. Indeed, the system is able to select the most relevant added links for each user who will receive them. So the suggestion of added links is done in a personalized way. The selection is made for example according to one or more of the following criteria (selected in particular according to the resources they require a priori for their implementation): - the potential interest of the added link in question (said link added candidate) for the user: as already mentioned in the section Creating links added in Directories, the added links are bidirectional, that is to say that an added link associated with a page Pl and pointing on a page P2 implies (as soon as it is accepted) the creation of the added link associated with
<Desc/Clms Page number 56><Desc / Clms Page number 56>
la page P2 et pointant sur la page P1 ; @ est donc dans 1 intérêt de i administrateur au site de suggérer un lien ajouté sur une page P2 potentiellement la plus intéressante possible, puisque * plus la page P2 est intéressante, plus l'utilisateur va la consulter ; * et à chaque fois qu'il va la consulter, le lien ajouté pointant sur la page P1 va y figurer et va ainsi inciter l'utilisateur à aller consulter ladite page P1. page P2 and pointing to page P1; It is therefore in the interest of the administrator of the site to suggest an added link on a potentially most interesting P2 page, since the more interesting the P2 page, the more the user will consult it; * and every time he goes to consult, the added link pointing to the page P1 will appear and will thus encourage the user to go to the said page P1.
Pour satisfaire à ce critère particulier, le système a notamment la possibilité d'analyser si le lien ajouté candidat avait été accepté ou gelé dans des répertoires proches du répertoire courant de l'utilisateur. Pour ce faire, et comme l'illustre la figure 63, le système recherche des répertoires (répertoire proche candidat) possédant : * la page courante (à noter que, du fait que la page courante est nouvelle pour l'utilisateur, aucun lien ajouté n'y est encore associé) ; * le lien ajouté candidat associé à la page courante, en mode accepté ou gelé, * et le répertoire de l'utilisateur ayant une forte valeur de proximité décalée d'éloignement 1 (ou progressivement plus si nécessaire) par rapport au répertoire proche candidat en partant de la page courante. In order to satisfy this particular criterion, the system notably has the possibility of analyzing whether the added candidate link has been accepted or frozen in directories close to the user's current directory. To do this, and as shown in Figure 63, the system searches for directories (close candidate directory) with: * the current page (note that because the current page is new to the user, no link added is still associated with it); * the added candidate link associated with the current page, in accepted or frozen mode, * and the directory of the user having a strong proximity value shifted by distance 1 (or progressively more if necessary) compared to the nearest candidate directory in from the current page.
- le fait que l'utilisateur avait déjà reçu la page vers laquelle pointe le lien ajouté candidat (s'il ne s'agit pas d'une nouvelle page pour lui) dans le répertoire courant, et le fait qu'en outre la page pointée par le lien ajouté candidat est déjà bien ancrée dans le répertoire courant (dans le sens où l'utilisateur a une probabilité relativement forte de la consulter en navigant d'une page a l'autre du répertoire), étant donné que plus l'utilisateur accédera à la page pointée par le lien ajouté, plus il verra le lien ajouté inverse qui l'incitera à aller revisiter la page courante (voir cependant le troisième sous-critère ci-dessous qui consiste à fixer un seuil supérieur au nombre de liens ajoutés préexistants) ; la propriété d'ancrage est mesurée en comptant dans le répertoire courant le nombre de liens ajoutés qui pointent sur la page en question (ou plus simplement, puisque les liens ajoutés sont bidirectionnels, en comptant les liens ajoutés associés à la page en question). - the fact that the user had already received the page pointed to by the added candidate link (if it is not a new page for him) in the current directory, and the fact that in addition the page pointed by the added candidate link is already well anchored in the current directory (in the sense that the user has a relatively high probability of consulting it by navigating from one page to the other of the directory), since the more the user will access the page pointed to by the added link, plus he will see the added reverse link that will encourage him to revisit the current page (however see the third sub-criterion below which is to set a threshold greater than the number of links pre-existing additions); the anchor property is measured by counting in the current directory the number of added links that point to the page in question (or more simply, since the added links are bidirectional, counting the added links associated with the page in question).
- dans quelle mesure l'utilisateur avait déjà accepté ou gelé cette page (ou au contraire, combien de fois il l'avait laissée en mode suggéré ou il l'avait refusée) : si l'utilisateur avait déjà reçu cette page (pointée par le lien ajouté candidat) dans le répertoire courant, et si - how much the user had already accepted or frozen this page (or on the contrary, how many times he had left it in suggested mode or he had refused it): if the user had already received this page (pointed by the added candidate link) in the current directory, and if
<Desc/Clms Page number 57><Desc / Clms Page number 57>
de plus il l'avait acceptée (ou gelée), ceci indique que cette page l'intéresse et qu'elle sera donc probablement à nouveau acceptée en tant que lien ajouté de la page courante ; il est donc plus avantageux de choisir le lien ajouté pointant sur cette page plutôt qu'un lien ajouté pointant sur une page nouvelle pour l'utilisateur ; en revanche, si l'utilisateur avait déjà reçu cette page mais depuis ce moment il l'a laissée en mode suggéré, ou, à fortiori, il l'a refusée, le système préférera ne pas la choisir, car le lien ajouté candidat a relativement moins de chances d'être accepté par l'utilisateur. moreover, he accepted it (or frozen), this indicates that this page interests him and that it will probably be accepted again as an added link of the current page; it is therefore more advantageous to choose the added link pointing to this page rather than an added link pointing to a new page for the user; on the other hand, if the user had already received this page but since then it left it in suggested mode, or, a fortiori, it refused it, the system will prefer not to choose it, because the link added candidate has relatively less likely to be accepted by the user.
- le nombre de liens ajoutés couramment associés à la page pointée par le lien ajouté candidat : si, dans le répertoire courant de l'utilisateur, une multitude de liens ajoutés sont déjà associés à la page pointée par le lien ajouté candidat, le lien ajouté inverse au lien ajouté candidat sera noyé dans cette multitude et n'aura pas l'effet d'incitation souhaité ; il n'est donc pas toujours avantageux de choisir un lien ajouté candidat dont la page vers laquelle il pointe possède déjà de trop nombreux liens ajoutés dans le répertoire de l'utilisateur (on notera que ce sous-critère est l'inverse du critère d'ancrage ; il doit être utilisé pour fixer un seuil qu'il ne faut pas dépasser) ; l'administrateur indique alors avantageusement, avec chaque répertoire spécialiste (qu'il spécifie par exemple dans la partie non affichée du document source de la page, ou encore dans une table sur le serveur, comme décrit plus haut) : * le nombre maximum de liens ajoutés à suggérer (voir plus haut), étant rappelé que l'utilisateur aussi peut contraindre ce nombre ; * le poids relatif à donner à chacun des critères (c'est-à-dire la formule d'agrégation pondérée des critères) décrits ci-dessus, ainsi qu'éventuellement des indications sur les heuristiques à mettre en #uvre dans leur prise en compte (il s'agit notamment d'éviter les critères qui consommeraient trop de ressources). - the number of links added commonly associated with the page pointed by the added candidate link: if, in the user's current directory, a multitude of added links are already associated with the page pointed by the added candidate link, the added link inverse to the added candidate link will be drowned in this multitude and will not have the desired incentive effect; It is therefore not always advantageous to choose an added candidate link whose page to which it points already has too many links added in the directory of the user (note that this sub-criterion is the inverse of the criterion d anchorage, it must be used to fix a threshold that must not be exceeded); the administrator then indicates advantageously, with each specialist directory (which it specifies for example in the not shown part of the source document of the page, or in a table on the server, as described above): * the maximum number of added links to suggest (see above), being reminded that the user too can constrain this number; * the relative weight to be given to each of the criteria (ie the weighted aggregation formula of the criteria) described above, as well as possibly indications on the heuristics to be applied in their taking into account. account (this includes avoiding criteria that consume too many resources).
Suggestion directe dans le Répertoire par défaut Le système peut synthétiser et proposer des liens ajoutés à partir : - des répertoires Spécialistes et/ou Direct suggestion in the default directory The system can synthesize and propose links added from: - Directories Specialists and / or
<Desc/Clms Page number 58><Desc / Clms Page number 58>
- des répertoires proches déterminés automatiquement par le système et présenter les liens ajoutés obtenus à partir de ces répertoires (répertoires candidats) par exemple à travers le premier répertoire de la première liste de la figure 5 5 a, qui est proposé à l'utilisateur par défaut. - close directories automatically determined by the system and present the added links obtained from these directories (candidate directories) for example through the first directory of the first list of Figure 5 5 a, which is proposed to the user by default.
Ce premier répertoire est ainsi synthétisé de manière différente pour chaque utilisateur. This first directory is thus synthesized differently for each user.
Pour ce faire, dans les répertoires candidats, le système choisit les liens ajoutés : - qui pointent sur une page, * alors que cette page est déjà existante et a été acceptée (ou gelée) un nombre de fois suffisant dans le répertoire courant de l'utilisateur * ou qui s'est avérée être intéressante chez un nombre suffisant d'utilisateurs voisins d'intérêt (ou plus exactement, qui fut acceptée ou gelée dans un nombre suffisant de répertoires proches), - et optionnellement, qui pointent sur une page pour laquelle la Proximité Décalée Cumulée d'éloignement 1 (à partir de la page courante), obtenue en additionnant les Proximités Décalées d'éloignement 1 dans les répertoires candidats, soit la plus grande possible. To do this, in the candidate directories, the system chooses the links added: - which point to a page, * while this page is already existing and has been accepted (or frozen) a sufficient number of times in the current directory of the 'user' or who has proved to be interesting in a sufficient number of neighboring users of interest (or more exactly, who was accepted or frozen in a sufficient number of close directories), - and optionally, who point to a page for which Cumulated Distance Distance 1 (from the current page), obtained by adding the Distance 1 Proximities in the candidate directories, is the largest possible.
Présentation graphique Avec chaque lien ajouté, l'administrateur du site peut spécifier sous quelle forme, avec quelle image et à quelle position de la page courante, le lien ajouté devra être posé, la présentation pouvant être par exemple : - sur le bord de la page (dans une liste de vignettes ), - sur la page (comme une affichette adhésive), ou sous la forme d'une petite icône située sur la page qui se transforme en une telle affichette au passage de la souris, - ou encore dans des régions de la page qui étaient prévues pour contenir de la publicité. Graphic presentation With each added link, the site administrator can specify in which form, with which image and at which position of the current page, the added link will have to be placed, the presentation being able for example: - on the edge of the page (in a list of thumbnails), - on the page (like a sticker), or in the form of a small icon located on the page that turns into such a placard when you move the mouse, - or in regions of the page that were intended to contain advertising.
<Desc/Clms Page number 59><Desc / Clms Page number 59>
L'administrateur peut aussi spécifier ces paramètres de présentation graphique pour le lien ajouté inverse (qui sera affiché sur la page vers laquelle pointe le lien ajouté en question). The administrator can also specify these graphical presentation settings for the added reverse link (which will be displayed on the page pointed to by the added link in question).
En particulier, l'administrateur peut souhaiter expressément spécifier à quelle position ou dans quelle région, sur la page vers laquelle pointe le lien ajouté en question, sera appliquée la représentation graphique du lien ajouté inverse. C'est en effet par ce moyen qu'il pourra mieux inciter l'utilisateur à venir consulter sa propre page (la page courante). Son audience dépendra donc en partie de la position (ainsi que l'apparence graphique) du lien ajouté inverse. In particular, the administrator may expressly wish to specify to which position or in which region, on the page pointed to by the added link in question, the graphic representation of the added inverse link will be applied. It is indeed by this means that he can better encourage the user to come and consult his own page (the current page). His audience will therefore depend in part on the position (as well as the graphical appearance) of the reverse added link.
La figure 64 illustre la présentation graphique d'un lien ajouté inverse sur une page (sous forme d'affichette). Une page pl a un lien ajouté sur une page p2 qui est déjà très encombrée d'une multitude de liens ajoutés présentés graphiquement sous forme de vignettes (dans une liste verticale). Sur la page p2, le lien ajouté inverse pointant sur pl n'est pas présentée comme une vignette de plus, mais sous forme d'une affichette directement sur le contenu de la page. La représentation graphique du lien ajouté inverse peut aussi être automatiquement inséré dans une région qui normalement aurait dû contenir de la publicité. L'administrateur espère par là attirer l'attention de l'internaute. Figure 64 illustrates the graphical presentation of an inverse added link on a page (in the form of a poster). A page has a link added on a p2 page which is already very crowded with a multitude of added links presented graphically as thumbnails (in a vertical list). On page p2, the added inverse link pointing to pl is not presented as one more thumbnail, but in the form of a placard directly on the content of the page. The graphical representation of the added inverse link can also be automatically inserted into a region that normally should have contained advertising. The administrator hopes to attract the attention of the user.
Section 8 - Calcul automatique de prévision d'Audience Le service offert par le système, consistant à permettre à l'administrateur d'inciter l'utilisateur à cliquer sur un lien ajouté inverse (pointant sur la page publiée par ledit administrateur) : - peut être proposé (fonction de devis ) au moyen d'un calcul de prévision d'audience ; - peut être facturé (fonction facturation ) pour le service effectivement rendu, sur la base : * de l'audience de la page à laquelle est associé le lien ajouté inverse (le nombre de fois que la page p2 de la figure 64 est vue par les utilisateurs du système), * des clics effectifs, c'est-à-dire en fonction du nombre de clics effectivement réalisés sur les liens ajoutés inverses. Section 8 - Automatic Audience Forecast Calculation The service offered by the system, which allows the administrator to prompt the user to click on an inverse added link (pointing to the page published by said administrator): - may be proposed (quote function) using a hearing forecast calculation; - may be invoiced (billing function) for the service actually rendered, based on: * the audience of the page to which the inverse added link is associated (the number of times the page p2 of figure 64 is viewed by the users of the system), * effective clicks, that is to say according to the number of clicks actually made on the links added inverses.
<Desc/Clms Page number 60> <Desc / Clms Page number 60>
En effet, non seulement, un lien ajouté inverse incite directement l'utilisateur à accéder à la page vers laquelle il pointe (en l'occurrence la page pl de la figure 64), mais en outre, les liens ajoutés de la page (p2) à laquelle le lien ajouté inverse est associé peuvent être publiés (voir la section Publication de liens ajoutés ) et être ainsi propagés d'un utilisateur à l'autre. Indeed, not only, an inverse added link directly encourages the user to access the page to which he points (in this case the page pl of Figure 64), but in addition, the links added to the page (p2 ) to which the reverse added link is associated can be published (see the section Linking Added Links) and thus be propagated from one user to another.
Dans ce schéma de propagation, seul les liens ajoutés inverses acceptés par un utilisateur seront suggérés aux utilisateurs qui sont en l'aval dans la chaîne de propagation. In this propagation scheme, only reverse-added links accepted by a user will be suggested to users who are downstream in the propagation chain.
La prévision d'audience peut être effectuée avantageusement en appliquant le coefficient de probabilité d'acceptation qui tient compte du comportement des utilisateurs (tel que décrit plus haut dans la section Détection de Répertoires Proches ). The audience prediction can be advantageously performed by applying the acceptance probability coefficient which takes into account the behavior of the users (as described above in the section on Detecting Close Directories).
Section 9 - Publication de Répertoires Un perfectionnement du système consiste à permettre à l'utilisateur de publier (ou mettre à la disposition d'un groupe restreint) au moins un sous-ensemble des répertoires de sa toile personnelle. Section 9 - Publishing Directories An enhancement of the system is to allow the user to publish (or make available to a small group) at least a subset of the directories of his personal web.
De la même manière que dans l'approche décrite plus haut dans la section Publication de liens Ajoutés , les liens vers des pages contenus dans un répertoire publié pourront être visualisés : - directement au moyen d'un navigateur standard (par exemple suite à la réception d'un email) ; - ou au moyen du système. In the same way as in the approach described above in the section Adding links, links to pages contained in a published directory can be viewed: - directly by means of a standard browser (for example, following reception an email); - or by means of the system.
Le répertoire consulté par l'utilisateur au moyen du système devient son répertoire courant. II peut s'agir d'un de ses propres répertoires ou d'un répertoire publié par un autre utilisateur. The directory accessed by the user through the system becomes his current directory. It can be one of its own directories or a directory published by another user.
L'utilisateur peut manuellement insérer de nouveaux liens dans ce répertoire. The user can manually insert new links in this directory.
L'utilisateur qui visualise le contenu d'un répertoire au moyen du système, peut également enrichir ce contenu en se faisant suggérer des liens à partir d'autres répertoires qui lui sont The user who visualizes the contents of a directory by means of the system, can also enrich this content by being suggested links from other directories which are him
<Desc/Clms Page number 61><Desc / Clms Page number 61>
proposes aans les listes spécialistes , voisins a intérêt , et copains (comme pour le cas des liens Ajoutés). Ces trois listes sont rappelées ci-dessous : 1. Les répertoires Spécialistes sont ceux proposés par l'administrateur du site, et celui-ci peut proposer à l'utilisateur un nombre de répertoires Spécialistes (candidats) plus grand que le nombre de répertoires qui seront présentés dans cette première liste. Le système sélectionne : - d'abord les répertoires spécifiés comme devant être présentés par défaut (s'il en existe), - ensuite, au fur et à mesure de l'acceptation de liens par l'utilisateur (l'acceptation est décrite plus loin dans cette section) dans le répertoire courant, le système sélectionne les répertoires dont les liens sont les plus voisins possibles des liens couramment déjà acceptés (ou gelés) par l'utilisateur. proposed in the lists specialists, neighbors has interest, and friends (as for the case of the links Added). These three lists are recalled below: 1. The Specialist directories are those proposed by the site administrator, who can propose to the user a number of Specialist directories (candidates) larger than the number of directories that will be presented in this first list. The system selects: - first the directories specified to be presented by default (if any), - then, as the user accepts the links (the acceptance is described more far in this section) in the current directory, the system selects the directories whose links are as close as possible to the links that have already been accepted (or frozen) by the user.
Pour ce faire, le système choisit essentiellement les répertoires contenant le plus de liens en commun avec l'ensemble de liens acceptés (ou gelés) par l'utilisateur au moment courant. To do this, the system essentially chooses the directories containing the most links in common with the set of links accepted (or frozen) by the user at the current time.
Un répertoire Spécialiste peut contenir un nombre de liens supérieur au nombre de liens qui seront suggérés à l'utilisateur. Le système sélectionne alors de préférence les liens associés par le plus grand nombre de liens ajoutés (dans le répertoire Spécialiste candidat) avec des liens qui (dans le répertoire courant) sont déjà acceptés. Bien évidemment, ne seront suggérés à l'utilisateur que les liens qui ne figurent pas déjà dans le répertoire courant. A Specialist directory may contain more links than the number of links that will be suggested to the user. The system then preferably selects the links associated with the largest number of links added (in the Candidate Specialist directory) with links that (in the current directory) are already accepted. Of course, only the links that are not already in the current directory will be suggested to the user.
2. Les répertoires de Voisins d'intérêt sont déterminés automatiquement par le système. Ce sont: - soit des répertoires proches et de même catégorie, qui sont déterminés en amenant le système à sélectionner, parmi les répertoires de même catégorie, ceux qui contiennent le plus de liens en commun avec les liens acceptés (ou gelés) par l'utilisateur. 2. Neighbor directories of interest are determined automatically by the system. These are: - either close directories and the same category, which are determined by causing the system to select, among the directories of the same category, those that contain the most links in common with the links accepted (or frozen) by the user.
- soit des répertoires contenant le plus de liens en commun avec des liens acceptés (ou gelés) dans le répertoire courant, quelles que soient leurs catégories ; cette approche peut se révéler performante si la sélection de ces répertoires peut se faire en accès direct à partir des liens - or directories containing the most links in common with links accepted (or frozen) in the current directory, regardless of their categories; this approach can be effective if the selection of these directories can be done in direct access from the links
<Desc/Clms Page number 62><Desc / Clms Page number 62>
contenus dans le répertoire courant (voir le type de requête schématisé sur la figure 65) ; en outre, cette approche permet d'associer des catégories aux répertoires automatiquement, car les catégories associées à chaque répertoire déterminé automatiquement sont proposées à l'utilisateur, lorsque ce dernier sélectionne ledit répertoire. contained in the current directory (see the type of query shown schematically in Figure 65); in addition, this approach makes it possible to associate categories with the directories automatically, because the categories associated with each automatically determined directory are proposed to the user, when the latter selects said directory.
Le grand avantage de ce procédé est qu'il permet aux utilisateurs d'associer aux répertoires des catégories appartenant à un vocabulaire commun (le système incite à parler un langage commun ). The great advantage of this method is that it allows users to associate categories with directories belonging to a common vocabulary (the system prompts to speak a common language).
3. Les répertoires Copains sont les répertoires choisis par l'utilisateur (Voir la section Publication de liens Ajoutés ). 3. The Buddies directories are the directories chosen by the user (See Publishing Added Links section).
Le principe de Publication et Suggestion étant le même que pour la Publication de liens Ajoutés (voir la section Publication de liens Ajoutés ), nous ne précisons pas ici tous les détails, mais quelques particularités des liens (associés aux répertoires) par opposition aux liens ajoutés (associés aux pages). The principle of Publication and Suggestion being the same as for the Publication of Added Links (see the section Publication of Added Links), we do not specify here all the details, but some particularities of the links (associated with the directories) as opposed to the links added. (associated with the pages).
Dans l'ensemble de liens (vers des pages) qui sont contenus dans le répertoire que l'utilisateur est en train de visualiser, l'utilisateur reçoit des liens supplémentaires à partir des répertoires sélectionnés dans les trois listes sus-décrites (Spécialistes, Voisins, Copains). In the set of links (to pages) that are contained in the directory that the user is viewing, the user receives additional links from the directories selected in the three lists described above (Specialists, Neighbors , Friends).
Comme pour les liens Ajoutés, le système peut avantageusement comporter des moyens pour sélectionner des liens sur la base de critères ( Offreur , Demandeur , etc), données par l'utilisateur ou associés au répertoire visualisé. As for the added links, the system can advantageously comprise means for selecting links based on criteria (provider, applicant, etc.), given by the user or associated with the displayed directory.
Les liens qui sont ainsi suggérés à l'utilisateur doivent être distingués de ceux qu'il avait luimême ajoutés : il peut en effet en refuser certains. Dans ce but, les liens peuvent se trouver dans un parmi plusieurs modes différents: Suggéré , Accepté , Refusé (et Gelé , ce dernier mode étant décrit dans la section Liens en mode Gelé ). The links that are thus suggested to the user must be distinguished from those he had himself added: he may indeed refuse some. For this purpose, the links can be in one of several different modes: Suggested, Accepted, Denied (and Frozen, the latter mode being described in the section Links in Frozen mode).
Les liens reçus par un premier utilisateur, à partir des liens publiés par un deuxième utilisateur (ou à partir d'un des répertoires du premier utilisateur), sont chez le premier utilisateur au départ en mode Suggéré . The links received by a first user, from the links published by a second user (or from one of the directories of the first user), are at the first user initially in Suggested mode.
<Desc/Clms Page number 63> <Desc / Clms Page number 63>
Suite à une action de l'utilisateur, chaque lien ajouté en mode Suggéré peut passer à l'un parmi les autres modes. L'interface utilisateur permettant la mise en #uvre de ces changements de mode est schématisée sur la figure 66. Following a user action, each link added in Suggested mode can switch to one of the other modes. The user interface for implementing these mode changes is shown schematically in Figure 66.
Cette figure illustre également le fait que, les répertoires étant visualisés comme des pages, l'utilisateur peut leurs associer des liens ajoutés. On voit ainsi qu'au répertoire ri ont été associés (par la technique des liens ajoutés) les répertoires r2 et r3 ainsi que la page p6. This figure also illustrates the fact that, since the directories are viewed as pages, the user can associate them with added links. We thus see that the directory ri have been associated (by the technique of the links added) the directories r2 and r3 as well as the page p6.
Les moyens de stockage associent donc aux liens un attribut Mode qui peut prendre comme valeur : Accepté, Refusé ou Gelé. La figure 56 présentait un diagramme de classe pour les liens Ajoutés, selon la représentation standard UML ( Unified Modeling Language ), mettant en évidence l'attribut Mode des liens Ajoutés. Nous complétons cette description avec la figure 67 qui montre que les liens (vers les pages) possèdent également un attribut Mode. Cet attribut peut lui aussi prendre la valeur Accepté, Refusé ou Gelé. De plus, la classe Répertoire comporte l'attribut Catégories qui a pour fonction de permettre de comparer des répertoires de même catégorie (indépendamment des noms que les utilisateurs leur ont donné). The storage means therefore associate with the links a Mode attribute that can take the value: Accepted, Refused or Frozen. Figure 56 shows a class diagram for the Added links, based on the Unified Modeling Language (UML) standard representation, highlighting the Mode attribute of the Added links. We complete this description with Figure 67 which shows that links (to pages) also have a Mode attribute. This attribute can also be set to Accepted, Denied, or Frozen. In addition, the Directory class has the Categories attribute, which is used to compare directories of the same category (regardless of the names the users gave them).
Un lien en mode Suggéré n'existe que pendant la visite d'un répertoire sélectionné dans l'une des trois listes déjà mentionnées. Il n'est pas affiché en dehors de cette visite. A link in Suggested mode only exists while visiting a selected directory in one of the three lists already mentioned. It is not displayed outside this tour.
Un lien en mode Suggéré n'est pas stocké dans l'espace de stockage personnel de l'utilisateur car, à chaque nouvelle visite, il est recréé à partir du lien correspondant stocké dans le répertoire source. A link in Suggested mode is not stored in the user's personal storage space because, at each new visit, it is recreated from the corresponding link stored in the source directory.
Le passage d'un lien du mode Suggéré au mode Refusé a pour effet de filtrer automatiquement ledit lien lors des visites ultérieures. The passage of a link from the Suggested mode to the Denied mode has the effect of automatically filtering said link during subsequent visits.
Le passage au mode Accepté signifie que l'utilisateur valide le lien qui est en mode Suggéré. Cette action a pour effet : 1. de stocker ledit lien dans son espace de stockage personnel, de manière à ce qu'il lui soit présenté à nouveau avec chaque nouvelle présentation du contenu du répertoire dans lequel Switching to Accept mode means that the user validates the link that is in Suggested mode. This action has the effect of: 1. storing said link in its personal storage space, so that it is presented to it again with each new presentation of the contents of the directory in which
<Desc/Clms Page number 64><Desc / Clms Page number 64>
ledit lien a été rangé ; cette présentation a lieu mëme si ledit lien a été supprime dans le répertoire qui en était la source) - ceci par opposition aux liens en mode Suggéré qui ne sont plus présentés dès le moment où il sont supprimés dans le répertoire source ; cette présentation a lieu même si le répertoire qui en était la source n'est plus sélectionné (a été décoché). said link has been stowed; this presentation takes place even if the link has been removed from the source directory) - this is in contrast to the Suggested mode links that are no longer presented from the moment they are deleted in the source directory; this presentation takes place even if the directory that was the source is no longer selected (has been unchecked).
2. si le répertoire dans lequel ledit lien est rangé est publié, de publier ledit lien d'office (sauf instruction contraire de l'utilisateur) - ceci par opposition aux liens ajoutés en mode Suggéré qui eux ne seront pas publiés. 2. If the directory in which the link is stored is published, publish the link ex officio (unless otherwise instructed by the user) - this as opposed to the links added in Suggested mode that will not be published.
On notera ici que l'insertion d'un lien dans un répertoire (par exemple manuellement en tapant son adresse URL ou par glisser-déposer à partir d'un autre répertoire) entraîne d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré lui-même). Note that inserting a link into a directory (for example manually by typing its URL or by dragging and dropping from another directory) automatically causes its setting in Accepted mode (since the user inserted it himself).
Une page visualisée par l'utilisateur dans le répertoire courant entraîne l'insertion du lien vers ladite page en mode Suggéré dans ledit répertoire. Il n'est donc pas stocké. Toutefois, dès qu'un lien ajouté en mode Accepté est associé à ce lien, ce dernier passe en mode Accepté et le système le stocke donc dans l'espace personnel de l'utilisateur. A page viewed by the user in the current directory causes the insertion of the link to said page in Suggested mode in said directory. It is not stored. However, as soon as a link added in Accept mode is associated with this link, the link goes into Accept mode and the system stores it in the user's personal space.
Section 10 - Liens en mode gelé Le passage en mode gelé signifie que : - non seulement l'utilisateur a validé le lien ajouté, mais de plus - la version courante de la page (vers laquelle pointe ledit lien ajouté au moment où la transition au mode gelé est effectuée) est stockée dans le système afin de garantir à l'utilisateur que ledit lien ajouté (aussi longtemps qu'il n'est pas supprimé) dirigera toujours l'utilisateur sur cette même version de la page dans le futur. Section 10 - Links in Frozen Mode Switching to Frozen Mode means that: - not only has the user validated the added link, but also - the current version of the page (to which the added link points when the transition to frozen mode is performed) is stored in the system to ensure the user that said added link (as long as it is not deleted) will always direct the user to that same version of the page in the future.
Plus précisément, la version courante de la page en question est copiée dans un espace de stockage propre au répertoire courant de l'utilisateur, et le lien pointe maintenant vers cette version stockée. Specifically, the current version of the page in question is copied to a storage space specific to the current directory of the user, and the link now points to this stored version.
<Desc/Clms Page number 65> <Desc / Clms Page number 65>
En réalité, pour optimiser la place consommée, il est avantageux que le système ne stocke qu'une seule copie de chaque version différente de page, qui sera partagée par tous les utilisateurs et tous les répertoires possédant ce lien en mode Gelé. Cette optimisation est nécessaire car une même version de page peut être pointée par des liens ajoutés associés à des pages différentes : - d'un même répertoire, - de répertoires différents d'un même utilisateur, ou encore - de répertoires d'utilisateurs différents, et par conséquent une multitude de liens ajoutés gelés pointant sur une même page peuvent exister. In fact, to optimize the space consumed, it is advantageous for the system to store only one copy of each different version of the page, which will be shared by all the users and directories with this link in Frozen mode. This optimization is necessary because the same version of page can be pointed by added links associated with different pages: - from the same directory, - from different directories of the same user, or - from different user directories, and therefore a multitude of frozen added links pointing to the same page may exist.
Lorsqu'un lien ajouté pointant sur une page est gelé, le système vérifie d'abord si la version courante de ladite page est déjà copiée, le cas échéant le système modifie ledit lien ajouté pour le faire pointer vers cette copie. When an added link pointing to a page is frozen, the system first checks whether the current version of said page is already copied, if necessary the system modifies said added link to point to that copy.
Pour déterminer si une copie de la version courante de la page existe déjà ou pas : - le système mémorise dans une table, en association avec chaque lien (vers une page) pour laquelle une copie est stockée, la date et l'heure de la copie ; - dans la mesure où une copie existe pour le lien en question et où la copie est récente, le système compare le contenu de la version courante avec celui de la copie, et si les contenus sont identiques, le système évite ainsi de créer une nouvelle copie ; - alternativement, le système peut exploiter les renseignements fournis dans le document source de la page en question pour connaître sa version (et déterminer si elle est différente de la version telle que copiée). To determine if a copy of the current version of the page already exists or not: - the system stores in a table, in association with each link (to a page) for which a copy is stored, the date and time of the copy; - Since a copy exists for the link in question and the copy is recent, the system compares the content of the current version with that of the copy, and if the contents are identical, the system avoids creating a new copy. copy; alternatively, the system can use the information provided in the source document of the page in question to know its version (and determine if it is different from the version as copied).
Section 11- Contenants et contenus Section 11- Containers and Contents
<Desc/Clms Page number 66><Desc / Clms Page number 66>
Un va maintenant généraliser les concepts decnts dans les sections précédentes, en considérant des structures Contenants ( Containers en terminologie anglo-saxone) contenant des éléments Contenus ( Contents en terminologie anglo-saxone), à n'importe quel niveau dans la structure des informations gardées par l'utilisateur dans son espace de stockage personnel. One will now generalize the concepts decnts in the preceding sections, by considering Container structures (Containers in English terminology) containing Contents elements (Contents in English terminology), at any level in the structure of information kept by the user in his personal storage space.
Les différents modes d'exploitation des liens ajoutés entre pages décrits par ailleurs dans le présent chapitre pourront, en de nombreuses instances, être étendus à l'exploitation de liens situés dans des contenants inclus directement dans la structure de pages et pointant vers des contenus susceptibles d'être incorporés à la page en question. The various modes of exploitation of the links added between pages described elsewhere in this chapter may, in many instances, be extended to the exploitation of links located in containers included directly in the page structure and pointing to contents likely to be incorporated into the page in question.
Les pages sont des documents, eux-mêmes structurées sous forme hiérarchique (par exemple : sections, paragraphes, etc. ), et auxquels est associée une spécification de présentation à l'utilisateur. Dans la suite, on va considérer des documents dont le contenu est spécifié selon la notation standard XML (abréviation de l'expression anglo-saxonne Extended Markup Language), et dont la présentation est spécifiée selon le langage XSL (abréviation de l'expression anglo-saxonne XML Stylesheet Language) ou selon un langage équivalent. Ces technologies se prêtent parfaitement à une structuration hiérarchique des informations. Pages are documents, themselves structured in hierarchical form (for example: sections, paragraphs, etc.), and associated with a user presentation specification. In the following, we will consider documents whose content is specified according to the standard notation XML (abbreviation of the English expression Extended Markup Language), and whose presentation is specified in the language XSL (abbreviation of the expression Anglo -Signs XML Stylesheet Language) or equivalent language. These technologies lend themselves perfectly to hierarchical structuring of information.
Toute la toile personnelle de l'utilisateur est vue comme une structure arborescente de contenus/contenants imbriqués, chaque contenu étant vu comme un document (ou fragment de document) au format XML auquel est optionnellement associée une spécification de présentation au format XSL. A chaque niveau dans cette structure d'arbre, un contenu ne peut être affiché à l'écran de l'ordinateur de manière autonome que si un document XSL lui est associé. Dans le cas inverse, le Content ancêtre le plus proche ayant un XSL est affiché par défaut. The entire personal web of the user is viewed as a tree structure of nested contents / containers, each content being viewed as a document (or document fragment) in XML format which is optionally associated with a presentation specification in XSL format. At each level in this tree structure, content can be displayed on the computer screen autonomously only if an XSL document is associated with it. In the opposite case, the nearest ancestor Content having an XSL is displayed by default.
Ainsi par exemple, un répertoire est d'abord un contenu qui peut être présenté à l'utilisateur comme une page autonome, dans la mesure où un document XSL pour la présentation des répertoires lui est associé. Un répertoire a par ailleurs un et un seul contenant dont les contenus sont eux-mêmes des répertoires ou d'autres types de documents. Certains de ces documents peuvent contenir plusieurs contenants, qui eux-mêmes contiennent des contenus, et ainsi de suite. For example, a directory is first and foremost content that can be presented to the user as a stand-alone page, as long as an XSL document for the presentation of the directories is associated with it. A directory also has one and only one container whose contents are themselves directories or other types of documents. Some of these documents may contain several containers, which themselves contain content, and so on.
<Desc/Clms Page number 67> <Desc / Clms Page number 67>
Tous les moyens décrits jusqu'ici pour les répertoires et les pages sont applicables respectivement aux contenants et contenus. All the means described so far for directories and pages are respectively applicable to containers and contents.
Dans ce cas, notamment : - les liens (vers des pages) sont alors des liens vers des contenus ; les liens Ajoutés pointeront également sur des contenus, - et les Coefficients de Probabilité d'Acceptation introduits dans la section Détection de Répertoires Proches sont alors associés à des contenants plutôt qu'à des Répertoires. In this case, in particular: - the links (to pages) are then links to contents; Added links will also point to contents, - and Acceptability Probability Coefficients introduced in the Near Directory Detection section are then associated with containers rather than Directories.
En partant du fait que l'utilisateur peut copier (ou importer ) un lien d'un répertoire à un autre, la présente section propose un système pour lui permettre d'importer n'importe quel contenu de n'importe quel contenant à un autre (à condition que le type dudit contenu ne viole pas les contraintes de type du contenant qui est censé le recevoir) à n'importe quel niveau dans la structure des informations de l'utilisateur. Starting from the fact that the user can copy (or import) a link from one directory to another, this section proposes a system to allow him to import any content from any container to another (provided that the type of said content does not violate the type constraints of the container that is supposed to receive it) at any level in the user's information structure.
De même, cette extension du système a pour objet de permettre à l'utilisateur de tirer (c'est-àdire de créer par glisser-déposer) des liens ajoutés de n'importe quel contenu à n'importe quel autre contenu. Ainsi, au lieu de ne pouvoir tirer des liens ajoutés qu'entres pages, entre répertoires et d'une manière mixte entre répertoires et pages, l'utilisateur pourra tirer un lien ajouté entre un élément dans une page et une autre page considérée dans sa globalité, par exemple. Similarly, the purpose of this system extension is to allow the user to pull (ie drag and drop) links from any content to any other content. Thus, instead of being able to derive links added between pages, between directories and in a mixed manner between directories and pages, the user can draw an added link between an element in one page and another page considered in its globality, for example.
Avantageusement, un lien ajouté (et notamment un lien ajouté inverse) pourra pointer sur un contenu enfoui dans une page. Dans le cas où le contenu vers lequel pointe le lien ajouté n'a pas de spécification de présentation (au format XSL) associé, le mécanisme mis en #uvre affichera le plus proche contenu parent (qui le contient) dans la hiérarchie des contenus. Advantageously, an added link (and in particular an inverse added link) may point to content buried in a page. In the case where the content to which the added link points has no associated presentation specification (in XSL format), the implemented mechanism will display the closest parent content (which contains it) in the content hierarchy.
On introduira en outre une troisième manipulation offerte à l'utilisateur : la dérivation de contenant, selon laquelle un premier contenant dérivé d'un deuxième contenant reçoit en mode Suggéré tous les contenus du deuxième contenant (ou éventuellement une sélection de ceux-ci) qui sont en mode Accepté (ou Gelé). Cette transmission de contenus se fait en permanence, en ce sens que même les contenus qui sont acceptés dans le futur dans le In addition, a third manipulation offered to the user will be introduced: the container derivation, according to which a first container derived from a second container receives in Suggested mode all the contents of the second container (or possibly a selection thereof) which are in Accepted (or Frozen) mode. This transmission of content is permanent, in the sense that even the contents that are accepted in the future in the
<Desc/Clms Page number 68><Desc / Clms Page number 68>
deuxième contenant sont suggéré dans le premier contenant dès leur acceptation dans le deuxième contenant. second container are suggested in the first container as soon as they are accepted in the second container.
Les documents que constituent les pages publiées dans les sites Internet doivent être restructurés pour permettre d'en distinguer les contenus et contenants qui les constituent. The documents that constitute the pages published on the Internet sites must be restructured to make it possible to distinguish the contents and containers which constitute them.
Le texte ci-dessous est un exemple simple de document en langage XML : <Root> exemple d'informations <img src="urlsource"/> de toutes sortes <A id="A-l" name="Anatole"> <C name="Hubert" id"C-1"/> <C name="Edouard"/> <C name="Antoine"/> <C name="Raymond"/> </A> <B name="Henri"/> <B name="Claude" myfriend="C-1" myenemies="A-l B-1"> exemple informations texte exemple informations texte <D name="Dominique" myfriend="A-1"/> </B> <B name="Robert" id="B-1"//> <B name="Andre"/> </Root> Un exemple de feuille de style XSL, permettant d'obtenir le rendu, est présenté dans les dix paragraphes suivants. The following text is a simple example of an XML document: <Root> example <img src = "urlsource" /> information of all kinds <A id="Al" name="Anatole"> <C name = "Hubert" id "C-1" /> <C name = "Edward" /> <C name = "Antoine" /> <C name = "Raymond" /> </A> <B name = "Henri" /> <B name = "Claude" myfriend = "C-1" myenemies = "Al B-1"> example information text example information text <D name = "Dominique" myfriend = "A-1" /> </ B > <B name = "Robert" id = "B-1" //> <B name = "Andre" /> </ Root> An example of an XSL style sheet that renders is presented in the following ten paragraphs.
Entête de la feuille de style : <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet xmlns:xsl="http://www.w3 .org/TR/WD-xsl"> <xsl:template match="/"> <HTML> Style sheet header: <? Xml version = "1.0" encoding = "ISO-8859-1"?> <Xsl: stylesheet xmlns: xsl = "http: //www.w3 .org / TR / WD-xsl "> <xsl: template match =" / "> <HTML>
<Desc/Clms Page number 69><Desc / Clms Page number 69>
<HEAD /> <BASEFONT FACE="ARIAL" SIZE="2"> <xsl:apply-templates /> </BASEFONT> </HTML> </xsl:template> Les n#uds du code source pour lesquels aucun traitement particulier n'est prévu sont copiés dans la page HTML : <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="#*#node()" /> </xsl:copy> </xsl:template> Les attributs du code source pour lesquels aucun traitement n'est prévu prennent les valeurs spécifiés dans le code source : <xsl:template match="@*"> <xsl:attribute> <xsl:value-of/> </xsl:attribute> </xsl:template> Pour le tag Root, sont ajoutés un titre et un paragraphe : <xsl:template match="Root"> <H 1 >FAMILLE/AMITI E/ETC...</H 1> <p>Dans la rue, il y a plein de gens :</p> <xsl:apply-templates /> </xsl:template> La valeur de l'attribut name est inscrite en caractères gras. <HEAD /> <BASEFONT FACE = "ARIAL" SIZE = "2"> <xsl: apply-templates /> </ BASEFONT> </ HTML> </ xsl: template> Nodes in source code for which no processing particular is expected are copied to the HTML page: <xsl: template match = "*"> <xsl: copy> <xsl: apply-templates select = "# * # node ()" /> </ xsl: copy > </ xsl: template> Attributes of the source code for which no processing is expected take the values specified in the source code: <xsl: template match = "@ *"> <xsl: attribute> <xsl: value- of /> </ xsl: attribute> </ xsl: template> For the tag Root, a title and a paragraph are added: <xsl: template match = "Root"> <H 1> FAMILY / FRIENDLY / ETC .. . </ H 1> <p> In the street, there are plenty of people: </ p> <xsl: apply-templates /> </ xsl: template> The value of the name attribute is written in bold .
<xsl:template match="*[@name]"> <li> <xsl: template match = "* [@ name]"> <li>
<Desc/Clms Page number 70><Desc / Clms Page number 70>
<b> <xsl:value-of select="@name" /> </b> Si le n#ud possède un attribut id, la valeur de l'attribut est placée dans le rendu entre parenthèses : <xsl:iftest="@id"> (id= <xsl:value-of select="@id" /> ) </xsl:if> Si le n#ud possède un attribut myfriend, la valeur de l'attribut est placée dans le rendu entre parenthèses: <xsl:if test="@myfriend"> (ami de <xsl:value-of select="@myfriend" /> ) </xsl:if> Si le n#ud possède un attribut myenemies, la valeur de l'attribut est placée dans le rendu entre parenthèses : <xsl:if test="@myenemies"> (ennemi de <xsl:value-of select="@myenemies" /> ) </xsl:if> <xsl: choose> Si un n#ud possédant un attribut name possède des sous-n#uds avec des attributs name, ces sous-n#uds sont présentés dans une liste précédé du label "Enfants :" : <xsl:when test="*[@name]"> <blockquote> <b> <xsl: value-of select = "@ name" /> </ b> If the node has an id attribute, the value of the attribute is placed in the parenthetical rendering: <xsl: iftest = "@id"> (id = <xsl: value-of select = "@ id" />) </ xsl: if> If the node has a myfriend attribute, the value of the attribute is placed in the render in parentheses: <xsl: if test = "@ myfriend"> (friend of <xsl: value-of select = "@ myfriend" />) </ xsl: if> If the node has a myenemies attribute, the value of the attribute is placed in parenthetical rendering: <xsl: if test = "@ myenemies"> (<xsl: value-of-select = "@ myenemies" /> enemy) </ xsl: if> <xsl: choose> If a node with a name attribute has subnodes with name attributes, these subnodes are presented in a list preceded by the "Children:" label: <xsl: when test = "* [@name] "> <blockquote>
<Desc/Clms Page number 71> <Desc / Clms Page number 71>
Enfants : <ol> <xsl:for-each select="*[@name]"> <xsl:apply-templates select="." /> </xsl:for-each> </ol> </blockquote> </xsl:when> Si un n#ud possédant un attribut name ne possède pas des sous-n#uds avec des attributs name, le label "Aucun enfant" est affiché : <xsl:otherwise>- Aucun enfant</xsl:otherwise> </xsl:choose> </Ii> </xsl:template> </xsl:stylesheet> La structure de données XML est ici décomposée en un ensemble de contenants et de contenus. Ces derniers contiennent les éléments de la structure XML initiale. Dans un but de classification, les contenants peuvent optionnellement être associés à des catégories, de telle sorte que les contenus qu'ils possèdent soient classés dans cette catégorie. Children: <ol> <xsl: for-each select = "* [@ name]"> <xsl: apply-templates select = "." /> </ xsl: for-each> </ ol> </ blockquote> </ xsl: when> If a node with a name attribute does not have subnodes with name attributes, the label " No child "is displayed: <xsl: otherwise> - No child </ xsl: otherwise> </ xsl: choose> </ Ii> </ xsl: template> </ xsl: stylesheet> The XML data structure is decomposed here in a set of containers and contents. These contain the elements of the initial XML structure. For purposes of classification, the containers may optionally be associated with categories, so that the contents they possess are classified in this category.
Sur la figure 68, dans la structure arborescente d'un document, on voit apparaître des contenants (illustrés en pointillés). In FIG. 68, in the tree structure of a document, containers (shown in dashed lines) appear.
La figure 69 illustre le fait qu'une telle structure permet de prendre des éléments d'un contenant pour les placer dans d'autres par le procédé importation. Figure 69 illustrates the fact that such a structure makes it possible to take elements of a container for placing in others by the import process.
On décrira également un procédé de dérivation permettant de placer un contenant dans un autre, dans le but de profiter du contenu du contenant d'origine, comme schématisé par la figure 70. A method of derivation will also be described for placing a container in another, for the purpose of taking advantage of the contents of the original container, as shown schematically in FIG.
La figure 71 illustre le fait que ces manipulations peuvent également être effectuées d'un document à l'autre. Figure 71 illustrates that these manipulations can also be performed from one document to another.
<Desc/Clms Page number 72><Desc / Clms Page number 72>
On cherche à pouvoir, à partir de pages Internet, restructurer les informations qui s'y trouvent afin de permettre à l'utilisateur de se composer ses propres pages, et ceci à partir de contenants et de contenus qu'il trouve au cours de sa navigation. Cela implique de définir une macrostructure de contenants/contenus, et de dissocier les contenus, qui pourront ainsi être déplacés ou reproduits d'une page à l'autre. We try to be able, from Internet pages, to restructure the information that is there to allow the user to compose his own pages, and this from containers and contents that he finds during his navigation. This involves defining a macrostructure of containers / contents, and dissociating the contents, which can be moved or reproduced from one page to another.
Sur cette base, les données XML d'un document de la Toile seront décomposées pour adopter la structure suivante : - un arbre de structure définissant l'imbrication des différents contenants d'information, chacun portant les références de ses contenus ; - une suite de contenus, regroupant les éléments référencés dans les contenants. On this basis, the XML data of a Web document will be decomposed to adopt the following structure: - a structure tree defining the nesting of the different information containers, each bearing the references of its contents; a series of contents, grouping the elements referenced in the containers.
Etapes de la transformation L'administrateur d'une page d'un site dispose d'un code XML initial (on reprendra l'exemple déjà présenté plus haut), qu'il désire faire partager aux utilisateurs du système . Steps of the transformation The administrator of a page of a site has an initial XML code (one will take again the example already presented above), which it wishes to share with the users of the system.
A. Création de la macrostructure Pour que le code source puisse être restructuré et stocké en évitant les redondances, l'utilisateur spécifie quels éléments sont des contenus et à quel contenant chaque contenu appartient. Ceci permet de constituer ce qu'on appelle ici la macrostructure. A. Creating the Macrostructure In order for the source code to be restructured and stored without redundancy, the user specifies which elements are contents and to which container each content belongs. This makes it possible to constitute what is called here the macrostructure.
Les contenants sont spécifiés au moyen d'attributs. Utiliser des attributs plutôt que des balises ( tags en terminologie anglo-saxonne) offre l'avantage de ne pas modifier la structure et ainsi, notamment, de ne pas remettre en cause l'application de feuilles de style XSL. La restructuration est ainsi non intrusive . On va maintenant présenter l'application d'une méthode de spécification de contenus et contenants (en se servant de l'exemple déjà présenté plus haut) au moyen d'attributs : <Root CONTAINERNUMBER="1"CATEGORY="url1"> Containers are specified by means of attributes. Using attributes rather than tags (tags in English terminology) offers the advantage of not changing the structure and thus, in particular, not to question the application of XSL style sheets. The restructuring is thus non-intrusive. We will now present the application of a method of specification of contents and containers (using the example already presented above) by means of attributes: <Root CONTAINERNUMBER = "1" CATEGORY = "url1">
<Desc/Clms Page number 73><Desc / Clms Page number 73>
exemple d'informations <img src="urlsource"/> de toutes sortes <A id="A-l" name="Anatole"> <C name="Hubert" CONTAINERNUMBER=" 1 "" CATEGORY="url2" id="C-1" "/> <C name="Edouard" CONTAINERNUMBER="2" CATEGORY="url3"/> <C name="Antoine" CONTAINERNUMBER="2" CATEGORY="url3"/> <C name="Raymond" CONTAINERNUMBER="2" CATEGORY="url3"/> </A> <B name="Henri" /> <B name="Claude" CONTAINERNUMBER=" 1" CATEGORY="url4" myfriend="C-l" myenemies="A-1 B-1"> exemple informations texte exemple informations texte <D name="Dominique" myfriend="A-l"/> </B> <B name="Robert" CONTAINERNUMBER="1" CATEGORY="url4" id="B-1"/> <B name="Andre" CONTAINERNUMBER="1" CATEGORY="url4" /> </Root> On notera que : - Hubert est dans un container (CONTAINERNUMBER= "1") différent de celui d' Antoine , Edouard et Raymond (CONTAINERNUMBER= "2"). example of <img src = "urlsource" /> information of all kinds <A id="Al" name="Anatole"> <C name = "Hubert" CONTAINERNUMBER = "1" "CATEGORY =" url2 "id =" C-1 "" /> <C name = "Edward" CONTAINERNUMBER = "2" CATEGORY = "url3" /> <C name = "Antony" CONTAINERNUMBER = "2" CATEGORY = "url3" /> <C name = " Raymond "CONTAINERNUMBER =" 2 "CATEGORY =" url3 "/> </A> <B name =" Henry "/> <B name =" Claude "CONTAINERNUMBER =" 1 "CATEGORY =" url4 "myfriend =" Cl "myenemies = "A-1 B-1"> example information text example information text <D name = "Dominique" myfriend = "Al" /> <B name = "Robert" CONTAINERNUMBER = "1" CATEGORY = "url4 "id =" B-1 "/> <B name =" Andre "CONTAINERNUMBER =" 1 "CATEGORY =" url4 "/> </ Root> Note that: - Hubert is in a container (CONTAINERNUMBER =" 1 ") different from that of Antoine, Edouard and Raymond (CONTAINERNUMBER = "2").
- les attributs myfriend et myenemies sont des références aux n#uds de l'arbre, car ils ont été spécifiés comme tels (type idref ) par le schéma associé au code source en langage XML. - the myfriend and myenemies attributes are references to the nodes of the tree, because they have been specified as such (type idref) by the schema associated with the source code in XML language.
Remarques : 1- La macrostructure permet de dissocier les éléments, de la structure dans laquelle ils résident. Ainsi, les éléments sont stockés de manière unique sur le serveur quel que soit le nombre de fois où ils ont été reproduits. Notes: 1- The macrostructure allows to dissociate the elements, of the structure in which they reside. Thus, the elements are stored uniquely on the server regardless of the number of times they have been reproduced.
2- Par défaut, sans aucune intervention manuelle, la macrostructure pourrait être automatiquement calquée sur la structure du document. La granularité du partage (granularité des éléments qui peuvent être répliqués) serait alors celle des éléments du document. Mais le 2- By default, without any manual intervention, the macrostructure could be automatically modeled on the structure of the document. The granularity of the partition (granularity of the elements that can be replicated) would then be that of the elements of the document. But the
<Desc/Clms Page number 74><Desc / Clms Page number 74>
système serait alors lourd à manipuler pour l'utilisateur, la macrostructure serait volumineuse et les performances s'en ressentiraient. L'approche que nous présentons consiste à permettre de spécifier la macrostructure explicitement dans les documents, c'est-à-dire de choisir la granularité des contenus qui peuvent être partagés. Ainsi, lors de la spécification d'un contenu, celui-ci est, par la même occasion, localisé dans un contenant qui peut regrouper plusieurs contenus. Comme les contenus auraient pu être calqués sur la structure des éléments du document, les contenants auraient pu être calqués sur la structure des contenus (tous les contenus enfants d'un même parent auraient alors été mis dans un contenant). On a préféré ici spécifier explicitement quels contenus sont situés dans quels contenants. system would be heavy to handle for the user, the macrostructure would be bulky and the performance would suffer. The approach we present is to allow to specify the macrostructure explicitly in the documents, that is to say to choose the granularity of the contents that can be shared. Thus, when specifying a content, it is, at the same time, located in a container that can group several contents. As the contents could have been modeled on the structure of the elements of the document, the containers could have been modeled on the structure of the contents (all the contents children of the same parent would have been put in a container). It has been preferred here to explicitly specify which contents are in which containers.
B. Code décomposé A partir des indications figurant dans le nouveau code source, est construite la structure décomposée, constituée d'une part par l'arbre de structure et d'autre part la suite de contenus. B. Code decomposed From the indications appearing in the new source code, is constructed the decomposed structure, constituted on the one hand by the tree of structure and on the other hand the sequence of contents.
Dans notre exemple, l'arbre de structure est la suivante : <CONTAINER SRC="...?id=12" CATEGORY="urll"> <CONTENTREF id="ContentRef-1" SRC="...?id= Content-42" NAME="Root"> <POSITION CONTAINER N="l"> (Container où se trouve Hubert) <CONTAINER SRC="...?id=13" CATEGORY="url2"> <CONTENTREF id="ContentRef-2" SRC="...?id= Content-43" NAME="C"> </CONTAINER> (Container où se trouvent Antoine, Edouard et Raymond) <CONTAINER SRC="...?id=14" CATEGORY="url3"> <CONTENTREF id="ContentRef-3" SRC="...?id= Content-44" NAME="C"> <CONTENTREF id="ContentRef-4" SRC="...?id= Content-45" NAME="C"> <CONTENTREF id="ContentRef-5" SRC="...?id= Content-46" NAME="C"> In our example, the structure tree is: <CONTAINER SRC = "...? Id = 12" CATEGORY = "urll"> <CONTENTREF id = "ContentRef-1" SRC = "...? Id = Content-42 "NAME =" Root "> <POSITION CONTAINER N =" l "> (Container where Hubert is located) <CONTAINER SRC =" ...? Id = 13 "CATEGORY =" url2 "> <CONTENTREF id =" ContentRef-2 "SRC =" ...? Id = Content-43 "NAME =" C "> </ CONTAINER> (Container where Antoine, Edouard and Raymond are located) <CONTAINER SRC =" ...? Id = 14 "CATEGORY =" url3 "> <CONTENTREF id =" ContentRef-3 "SRC =" ...? Id = Content-44 "NAME =" C "> <CONTENTREF id =" ContentRef-4 "SRC =" ... ? id = Content-45 "NAME =" C "> <CONTENTREF id =" ContentRef-5 "SRC =" ...? id = Content-46 "NAME =" C ">
<Desc/Clms Page number 75><Desc / Clms Page number 75>
</CONTAINER> </POSITION~CONTAINER > <POSITION CONTAINER N="2"> <CONTAINER SRC="...?id=15" CATEGORY="url4"> <CONTENTREF id="ContentRef-6" SRC="...?id= Content-47" NAME="B"> <POSITION ELTREFS N="l"> <ELTREFS SRC="... ?id=ContentRef-2"/> </POSITION~ELTREFS > <POSITION ELTREFS N="2"> <ELTREFS SRC="... ?id=ContentRef-1"/> <ELTREFS SRC="... ?id=ContentRef-7"/> </POSITION ELTREFS > <POSITION ELTREFS N="3"> < ELTREFS SRC="... ?id=ContentRef- 1"/> </POSITION~ELTREFS > </ CONTENTREF> <CONTENTREF id="ContentRef-7" SRC="...?id= Content-48" NAME="B"/> <CONTENTREF id="ContentRef-8" SRC="...?id= Content-49" NAME="B"/> </CONTAINER> </POSITION CONTAINER > </CONTENTREF> </CONTAINER> La suite de contenu est la suivante : </ CONTAINER> </ POSITION ~ CONTAINER> <POSITION CONTAINER N = "2"> <CONTAINER SRC = "...? Id = 15" CATEGORY = "url4"> <CONTENTREF id = "ContentRef-6" SRC = " ...? id = Content-47 "NAME =" B "> <ELTREFS POSITION N =" l "> <ELTREFS SRC =" ...? id = ContentRef-2 "/> </ POSITION ~ ELTREFS> <POSITION ELTREFS N = "2"> <ELTREFS SRC = "...? Id = ContentRef-1" /> <ELTREFS SRC = "...? Id = ContentRef-7" /> </ ELTREFS POSITION> <ELTREFS POSITION N = "3"> <ELTREFS SRC = "...? Id = ContentRef- 1" /> </ POSITION ~ ELTREFS> </ CONTENTREF> <CONTENTREF id = "ContentRef-7" SRC = "...? Id = Content-48 "NAME =" B "/> <CONTENTREF id =" ContentRef-8 "SRC =" ...? Id = Content-49 "NAME =" B "/> </ CONTAINER> </ POSITION CONTAINER> < / CONTENTREF> </ CONTAINER> The following content is:
<Desc/Clms Page number 76><Desc / Clms Page number 76>
<CONTENT id=" Content-42" CATEGORY="url1"> <Root> exemple d'informations <img src="urlsource"/> de toutes sortes <A name="Anatole" id="A-l"> <POSITION CONTAINER N="1"/> </A> <B name="Henri" /> <POSITION CONTAINER N="2"/> </Root> </CONTENT> <CONTENT id="Content-43" CATEGORY="url2"> <C name=" Hubert" id=C-l/> </CONTENT> <CONTENT id=" Content-44" CATEGORY="url3"> <C name="Edouard"/> </CONTENT> <CONTENT id=" Content-45" CATEGORY="url3"> <C name="Antoine"/> </CONTENT> <CONTENT id=" Content-46" CATEGORY="url3"> <C name="Raymond"/> </CONTENT> <CONTENT id=" Content-47" CATEGORY="url4"> <B name="Claude" myfriend="C-l" myenemies="A-1 B-1"> <POSITION~ELTREFS N="1" ATTRIB="myfriend"/> <POSITION~ELTREFS N="2" ATTRIB="myenemies"/> exemple informations texte exemple informations texte <CONTENT id = "Content-42" CATEGORY = "url1"> <Root> sample information <img src = "urlsource" /> of all kinds <A name="Anatole" id="Al"> <POSITION CONTAINER N = "1" /> </A> <B name = "Henry" /> <POSITION CONTAINER N = "2" /> </ Root> </ CONTENT> <CONTENT id = "Content-43" CATEGORY = " url2 "> <C name =" Hubert "id = Cl /> </ CONTENT> <CONTENT id =" Content-44 "CATEGORY =" url3 "> <C name =" Edward "/> </ CONTENT> <CONTENT id = "Content-45" CATEGORY = "url3"> <C name = "Antoine" /> </ CONTENT> <CONTENT id = "Content-46" CATEGORY = "url3"> <C name = "Raymond" /> < / CONTENT> <CONTENT id = "Content-47" CATEGORY = "url4"> <B name = "Claude" myfriend = "Cl" myenemies = "A-1 B-1"> <POSITION ~ ELTREFS N = "1" ATTRIB = "myfriend" /> <POSITION ~ ELTREFS N = "2" ATTRIB = "myenemies" /> example information text example information text
<Desc/Clms Page number 77><Desc / Clms Page number 77>
<D name="Dominique" myfriend="A-1"> <POSITION~ELTREFS N="3" ATTRIB="myfriend"/> </D> <B/> </CONTENT> <CONTENT id="48" CATEGORY="url4"> <B name="Robert" id="B-1"/> </CONTENT> <CONTENT id="49" CATEGORY="url4"> <B name="Andre"/> </CONTENT> Comme on peut le voir, toutes les données d'arbre de départ sont séparées dans la suite de contenus. L'arbre de structure représente l'imbrication des contenants entre eux. <D name = "Dominique" myfriend = "A-1"> <POSITION ~ ELTREFS N = "3" ATTRIB = "myfriend" /> </ D> <B /> </ CONTENT> <CONTENT id = "48" CATEGORY = "url4"> <B name = "Robert" id = "B-1" /> </ CONTENT> <CONTENT id = "49" CATEGORY = "url4"> <B name = "Andre" /> </ CONTENT> As can be seen, all starting tree data are separated in the following content. The structure tree represents the nesting of the containers between them.
L'imbrication entre Root et Henri ne figure pas dans l'arbre de structure car Root et Henry sont dans le même contenu. Par contre, l'imbrication entre Anatole et Hubert , Edouard , Antoine et Raymond est reflétée dans l'arbre de structure, car Hubert , Edouard , Antoine et Raymond sont regroupés dans deux contenants différents sous Anatole . The nesting between Root and Henri does not appear in the structure tree because Root and Henry are in the same content. On the other hand, the interweaving between Anatole and Hubert, Edouard, Antoine and Raymond is reflected in the structural tree, since Hubert, Edouard, Antoine and Raymond are grouped in two different containers under Anatole.
De plus, on constate que les contenants peuvent être disposés de façon bien précise dans les contenus. On parlera de positionnement. Les contenus dans lesquels se trouvent des contenants portent une balise indiquant où les contenants se trouvent (au moyen d'un numéro POSITION~CONTAINER N). Les positions dans les contenus sont utilisés dans l'arbre de structure. Chaque contenant est en effet imbriqué sous une balise POSITION~CONTAINER ayant un numéro. Ce numéro correspond à l'indication N figurant dans les contenus. Ceci est illustré sur la figure 72. In addition, it is found that the containers can be arranged very precisely in the contents. We will talk about positioning. The contents in which containers are carried bear a tag indicating where the containers are (by means of a number POSITION ~ CONTAINER N). The positions in the contents are used in the structure tree. Each container is indeed nested under a POSITION ~ CONTAINER tag with a number. This number corresponds to the indication N contained in the contents. This is illustrated in Figure 72.
Lorsque certaines balises possèdent des références à d'autres balises, cela est matérialisé dans l'arbre de structure et dans la suite de contenus au moyen de la balise POSITION~ELTREFS. When certain tags have references to other tags, this is materialized in the structure tree and in the content suite by means of the POSITION ~ ELTREFS tag.
<Desc/Clms Page number 78><Desc / Clms Page number 78>
La même approche que pour le positionnement des contenants est utilise. La position de références à des éléments est matérialisée dans un contenu à l'aide d'un numéro POSITION ELTREFS N, que l'on retrouve dans l'arbre de structure, dans le champ CONTENTREF correspondant. Cette indirection permet de retrouver, dans la structure arborescente de contenants, le contenu où se trouve l'élément référencé. Ceci est illustré à la figure 73. The same approach as for the positioning of the containers is used. The position of references to elements is materialized in a content using a number POSITION ELTREFS N, which is found in the structure tree, in the field CONTENTREF corresponding. This indirection makes it possible to find, in the tree structure of containers, the content where the referenced element is located. This is illustrated in Figure 73.
Détail de la macrostructure décomposée a. Arbre de structure 1. Balise CONTAINER Cette balise représente un contenant au sein de l'arbre de structure. Un contenant est identifié par une adresse URL dénommée SRC. Detail of the decomposed macrostructure a. Structure tree 1. CONTAINER tag This tag represents a container within the structure tree. A container is identified by a URL called SRC.
Cette adresse URL est composée du nom de domaine où le contenant est archivé, et de l'identifiant local de ce contenant pour le domaine. Si plusieurs serveurs sont associés à un nom de domaine, alors ce nom de serveur est spécifié dans l'adresse URL entre le nom de domaine et l'identifiant local : SRC : DomainName/ServerName?ID Cette balise comporte également un attribut indiquant à quelle catégorie est associé le contenant. Cette catégorie est spécifiée au moyen d'une adresse URL. This URL is composed of the domain name where the container is archived, and the local identifier of this container for the domain. If multiple servers are associated with a domain name, then this server name is specified in the URL address between the domain name and the local identifier: SRC: DomainName / ServerName? ID This tag also has an attribute indicating to which category is associated the container. This category is specified by means of a URL.
Un contenant est composé de plusieurs balises CONTENTREF (voir définition précise ciaprès) qui renvoient au contenu dans la succession de contenus. De plus, un contenant peut être dans un contenu à une position donnée, selon la balise POSITION~CONTAINER (définie ci-après) désignant la position à laquelle il se trouve. A container is composed of several CONTENTREF tags (see precise definition below) which refer to the content in the succession of contents. In addition, a container may be in a content at a given position, according POSITION ~ CONTAINER tag (defined below) designating the position at which it is located.
Par exemple : For example :
<Desc/Clms Page number 79><Desc / Clms Page number 79>
<CONTAINER SRC= ... ?id=12 CATEGORY= URL > 2. Balise CONTENTREF Cette balise constitue une référence à un élément donné CONTENT de la succession de contenus. Il est identifié par un identificateur entier ID , et porte un attribut SRC qui est l'identifiant unique du contenu CONTENT référencé. La même syntaxe d'adresse URL que pour les contenants est adoptée. Les balises CONTENTREF comportent également un nom NAME : <CONTENTREF ID= 432 SRC= ... ? 43 NAME= A /> 3. Balise POSITION CONTAINER Cette balise permet de matérialiser les différentes positions où on peut trouver des contenants dans un contenu. Comme le montre l'exemple ci-après, une balise CONTENTREF peut contenir plusieurs balises POSITION~CONTAINER, c'est-à-dire que des contenants peuvent être disposés à plusieurs endroits du contenu en question. De plus, à une position donnée, il est possible de trouver plusieurs contenants, comme dans l'exemple suivant : < CONTENTREF ID=26 SRC= ... ?ID=44 NAME= B > <POSITION CONTAINER N=l> <CONTAINER SRC= ... ?ID=13 CATEGORY= URL1> < CONTENTREF ID=27 SRC= ... ?ID=45 NAME= B 1 /> </CONTAINER> <CONTAINER SRC= ... ?ID=14 CATEGORY= URL2 > < CONTENTREF ID=28 SRC= ... ?ID=46 NAME= B2 /> </CONTAINER> </POSITION CONTAINER> <POSITION CONTAINER N=2> <CONTAINER SRC= ... ?ID=13 CATEGORY= URLl > <CONTENTREF ID=29 SRC= ... ?ID=47 NAME= B3 /> </CONTAINER> <CONTAINER SRC = ...? Id = 12 CATEGORY = URL> 2. CONTENTREF tag This tag is a reference to a given CONTENT element of the content sequence. It is identified by an integer identifier ID, and carries a SRC attribute which is the unique identifier of the CONTENT content referenced. The same URL syntax as for containers is adopted. The CONTENTREF tags also have a NAME name: <CONTENTREF ID = 432 SRC = ...? 43 NAME = A /> 3. POSITION CONTAINER tag This tag is used to mark the different positions where you can find containers in a content. As shown in the example below, a CONTENTREF tag can contain several POSITION ~ CONTAINER tags, that is to say that containers can be arranged in several places of the content in question. Moreover, at a given position, it is possible to find several containers, as in the following example: <CONTENTREF ID = 26 SRC = ...? ID = 44 NAME = B> <POSITION CONTAINER N = l> <CONTAINER SRC = ...? ID = 13 CATEGORY = URL1> <CONTENTREF ID = 27 SRC = ...? ID = 45 NAME = B 1 /> </ CONTAINER> <CONTAINER SRC = ...? ID = 14 CATEGORY = URL2> <CONTENTREF ID = 28 SRC = ...? ID = 46 NAME = B2 /> </ CONTAINER> </ POSITION CONTAINER> <POSITION CONTAINER N = 2> <CONTAINER SRC = ...? ID = 13 CATEGORY = URLl> <CONTENTREF ID = 29 SRC = ...? ID = 47 NAME = B3 /> </ CONTAINER>
<Desc/Clms Page number 80><Desc / Clms Page number 80>
</POSITION CONTAINER> </ CONTENTREF> b. Suite de contenus 1. Balise CONTENT Cette balise représente un contenu. Un contenu peut contenir une ou plusieurs balises du code source XML d'origine. Les contenus sont identifiés par un identifiant unique, et portent l'adresse URL de la catégorie à laquelle ils appartiennent, comme dans l'exemple suivant : <CONTENT ID= 43 CATEGORY= URL > <A> <C/> </A> </CONTENT> Il se peut que certains cas conduisent à la création de contenus : (i) soit des contenus externes, à savoir un contenu qui pointe sur un autre contenu d'un hôte différent (de catégorie externe), par exemple : <CONTENT ID= 124 CATEGORY= URL2(externe) > <A> <C/> </A> </CONTENT> (ii) soit des contenus indirects, à savoir un contenu qui pointe sur un autre contenu du même hôte (mais de catégorie différente), par exemple : <CONTENT ID= 44 CATEGORY= URL3 INDIRECT= 43 > </CONTENT> </ POSITION CONTAINER> </ CONTENTREF> b. Content Suite 1. CONTENT tag This tag represents content. Content may contain one or more tags from the original XML source code. The contents are identified by a unique identifier, and carry the URL of the category to which they belong, as in the following example: <CONTENT ID = 43 CATEGORY = URL> <A> <C /> </A> </ CONTENT> There may be cases that lead to content creation: (i) external content, that is, content that points to another content of a different (external category) host, for example: < CONTENT ID = 124 CATEGORY = URL2 (external)> <A> <C /> </A> </ CONTENT> (ii) indirect content, ie content that points to another content of the same host (but different category), for example: <CONTENT ID = 44 CATEGORY = INDIRECT URL3 = 43> </ CONTENT>
<Desc/Clms Page number 81><Desc / Clms Page number 81>
2. Balise POSITION~CONTAINER Cette balise indique la position où un contenant peut être inséré dans un contenu, par exemple : < POSITION CONTAINER N= l /> 3. Balise POSITION ELTREFS Cette balise permet de matérialiser, dans le contenu, les références que certaines balises portent sur d'autres. Comme les balises POSITION CONTAINER , ils portent un attribut entier N indiquant leurs positions dans le contenu. Ils possèdent également un attribut ATTRIB qui contient le nom de l'attribut utilisé par l'auteur du code source XML pour définir la référence. Par exemple : <POSITION~ELTREFS N= l ATTRIB= myfriends /> C. Recomposition des pages de la Toile La figure 74 illustre le fait que l'internaute dispose d'un accès supplémentaire à l'information. 2. POSITION ~ CONTAINER tag This tag indicates the position where a container can be inserted into a content, for example: <POSITION CONTAINER N = 1 /> 3. POSITION ELTREFS tag This tag allows to materialize, in the content, the references that some tags relate to others. Like the POSITION CONTAINER tags, they carry an integer attribute N indicating their positions in the content. They also have an ATTRIB attribute that contains the name of the attribute used by the author of the XML source code to set the reference. For example: <POSITION ~ ELTREFS N = l ATTRIB = myfriends /> C. Redialing Web Pages Figure 74 illustrates the fact that the user has additional access to the information.
Il peut y accéder de façon classique en se connectant sur le site source de la Toile, et il peut également y accéder via le système, qui lui permet d'interagir avec les contenants et les contenus, c'est-à-dire les organiser selon sa volonté. It can access it in a classic way by connecting to the source site of the Web, and it can also access it via the system, which allows it to interact with containers and contents, that is to say organize them according to his will.
Le système décompose ce site en contenants/contenus (ce site doit impérativement avoir été mis par son administrateur sous la forme déjà décrite auparavant, à savoir la forme dans laquelle l'administrateur a notamment indiqué où se trouvent les contenus et contenants). The system breaks down this site into containers / contents (this site must imperatively have been put by its administrator in the form already described before, namely the form in which the administrator has indicated where the contents and containers are).
Afin d'être présentées à l'internaute, les informations en sortie du système sont reconstituées et transformées à l'aide de la feuille de style XSL associée au code XML d'origine. Pour permettre la manipulation de poignées (qui permettent de désigner graphiquement des In order to be presented to the user, the output information of the system is reconstructed and transformed using the XSL style sheet associated with the original XML. To allow the manipulation of handles (which allow to graphically designate
<Desc/Clms Page number 82><Desc / Clms Page number 82>
contenus, la feuille de style XSL ajoute à la volée, dans la spécification XSL d'origine, du code de présentation. Ce procédé est schématisé sur la figure 75. content, the XSL style sheet adds on the fly, in the original XSL specification, presentation code. This process is shown schematically in Figure 75.
D. Code XML reconstitué Afin de pouvoir être présenté à l'internaute, le code XML décomposé est reconstitué. On peut ainsi lui appliquer une feuille de style XSL. Lors de la reconstitution, il est fait en sorte que les contenus et les contenants soient matérialisés pour que l'utilisateur puisse les manipuler. D. XML reconstituted code In order to be presented to the user, the decomposed XML is reconstituted. We can then apply an XSL style sheet. During reconstitution, it is ensured that the contents and the containers are materialized so that the user can manipulate them.
A cet égard, comme on va le voir par la suite, l'internaute peut sélectionner un contenu ou un contenant au moyen de poignées pour les déplacer où les mettre dans un autre document. In this respect, as we will see later, the user can select a content or a container by means of handles to move them or put them in another document.
Pour l'exemple traité jusqu'ici le code reconstitué est le suivant : <Root CONTAINERNUMBER="1" CATEGORY="urll"> Exemple d'informations <img src="urlsource"/> de toutes sortes <A id="A-1" name="Anatole"> <C name="Hubert" CONTAINERNUMBER="1" CONTAINERID="13" CONTENTID="43" CATEGORY="url2" id="C-l" /> <C name="Edouard" CONTAINERNUMBER="2" CONTAINERID=" 14" CONTENTID="44" CATEGORY="url3"/> <C name="Antoine" CONTAINERNUMBER="2" CONTAINERID=" 14" CONTENTID="45" For the example treated so far the reconstituted code is the following: <Root CONTAINERNUMBER = "1" CATEGORY = "urll"> Example information <img src = "urlsource" /> of all kinds <A id = "A -1 "name =" Anatole "> <C name =" Hubert "CONTAINERNUMBER =" 1 "CONTAINERID =" 13 "CONTENT =" 43 "CATEGORY =" url2 "id =" Cl "/> <C name =" Edouard " CONTAINERNUMBER = "2" CONTAINERID = "14" CONTENTID = "44" CATEGORY = "url3" /> <C name = "Antoine" CONTAINERNUMBER = "2" CONTAINERID = "14" CONTENTID = "45"
<Desc/Clms Page number 83><Desc / Clms Page number 83>
CATEGORY="url3"/> <C name="Raymond" CONTAINERNUMBER="2" CONTAINERID="14" CONTENTID="46" CATEGORY="url3"/> </A> <B name="Henri" /> <B name="Claude" CONTAINERNUMBER="1" CONTAINERID="86" CONTENTID="47" CATEGORY="url4" myfriend="C-1" myenemies="A-l B-1"> Exemple informations texte exemple informations texte <D name="Dominique" myfriend="A-1"/> </B> <B name="Robert" CONTAINERNUMBER="1" CONTAINERID="87" CONTENTID="48" CATEGORY="url4" id="B-1"/> <B name="Andre" CONTAINERNUMBER="1" CONTAINERID="88" CONTENTID="49" CATEGORY="url4" /> </Root> CATEGORY = "url3" /> <C name = "Raymond" CONTAINERNUMBER = "2" CONTAINERID = "14" CONTENT = "46" CATEGORY = "url3" /> </A> <B name = "Henry" /> < B name = "Claude" CONTAINERNUMBER = "1" CONTAINERID = "86" CONTENTID = "47" CATEGORY = "url4" myfriend = "C-1" myenemies = "Al B-1"> Example information text example information text <D name = "Dominique" myfriend = "A-1" /> </ B> <B name = "Robert" CONTAINERNUMBER = "1" CONTAINERID = "87" CONTENT = "48" CATEGORY = "url4" id = "B- 1 "/> <B name =" Andre "CONTAINERNUMBER =" 1 "CONTAINERID =" 88 "CONTENT =" 49 "CATEGORY =" url4 "/> </ Root>
<Desc/Clms Page number 84><Desc / Clms Page number 84>
Exemple de présentation A partir du code XML reconstitué, une page HTML de présentation est construite au moyen d'une feuille de style XSL. Dans le cadre de l'exemple présenté en introduction de cette section, la même feuille XSL est reprise, à ceci près qu'on lui a ajouté des éléments de dérivation (c'est-à-dire les poignées) permettant d'interagir avec le contenu de la page. Presentation example From the reconstructed XML, a presentation HTML page is constructed using an XSL style sheet. In the context of the example presented in the introduction of this section, the same XSL sheet is taken over, except that it has been added to it derivation elements (that is to say the handles) allowing to interact with the content of the page.
Dans la suite, on va décrire précisément en quoi consistent ces éléments de dérivation, puis comment se passent les actions d'importation/dérivation et leur conséquence : la suggestion. In the following, we will describe precisely what these derivation elements consist, then how are the actions of importation / derivation and their consequence: the suggestion.
A. Insertion de poignées d'importation/dérivation On définit à l'aide d'un modèle ( Template en terminologie anglo-saxonne) la transformation en langage HTML des informations de la structure qui permettent la dérivation, l'importation et l'association de liens ajoutés. Les contenants ne peuvent pas être représentés en tant que tels, car ils ne correspondent pas forcément à une enveloppe (à savoir à un objet graphique unique) vue graphiquement dans la page HTML résultante. C'est pourquoi cette transformation donne un élément graphique (élément de dérivation) pour chaque n#ud de type contenu. Cet élément de dérivation permet la gestion du glisser-déposer à la fois des contenants et des contenus. En effet, un composant BEHAVIOR (voir l'Annexe) attaché à l'élément communique alors avec le système. A. Insertion of import / derivation handles One defines with the help of a model (Template in English terminology) the transformation in HTML language of the information of the structure which allows the derivation, the import and the association added links. Containers can not be represented as such, because they do not necessarily correspond to an envelope (ie to a single graphic object) viewed graphically in the resulting HTML page. That is why this transformation gives a graphical element (derivation element) for each content type n # ud. This derivation element allows drag and drop management of both containers and contents. Indeed, a component BEHAVIOR (see Appendix) attached to the element then communicates with the system.
Le modèle précité est ajouté en fin de la page XSL afin de la surcharger efficacement et pour que les éléments de dérivation soient effectivement affichés. The aforementioned model is added at the end of the XSL page in order to effectively overload it and for the derivation elements to be actually displayed.
L'allure de ce modèle peut par exemple être la suivante : <xsl:template match="*[#CONTAINERID>0]"> <xsl:if test="/*[#HANDLEMODE='1']"> <xsl:element name="DIV"> The look of this model can for example be the following: <xsl: template match = "* [# CONTAINERID> 0]"> <xsl: if test = "/ * [# HANDLEMODE = '1']"> <xsl : element name = "DIV">
<Desc/Clms Page number 85><Desc / Clms Page number 85>
<xsl:attribute name="STYLE"> BEHAVIOR :url(.../system.dragndrop.htc) ; </xsl:attribute> <xsl:eval>this.nodeName</xsl:eval> <xsl:attribute name="containerid"> <xsl:value-of select="#CONTAINERID"/> </xsl:attribute> <xsl:attribute name="contentid"> <xsl:value-of select="#CONTENTID"/> </xsl:attribute> </xsl:element> </xsl:if> <xsl:eval> this.setAttribute("CONTAINERID",0) </xsl:eval> <xsl:apply-templates select="." /> </xsl:template> L'élément DIV (introduit en 3e ligne) est un élément de dérivation auquel est associé le composant BEHAVIOR :url(.../system.dragndrop.htc) , dont l'allure est présentée en Annexe. Ce composant permet une gestion du glisser-déposer des éléments pour la dérivation de contenants qu'il communiquera au système. <xsl: attribute name = "STYLE"> BEHAVIOR: url (... / system.dragndrop.htc); </ xsl: attribute> <xsl: eval> this.nodeName </ xsl: eval> <xsl: attribute name = "containerid"> <xsl: value-of select = "# CONTAINERID" /> </ xsl: attribute> <xsl: attribute name = "contentid"> <xsl: value-of select = "# CONTENT" /> </ xsl: attribute> </ xsl: element> </ xsl: if> <xsl: eval> this.setAttribute ("CONTAINERID", 0) </ xsl: eval> <xsl: apply-templates select = "." /> </ xsl: template> The DIV element (introduced in the 3rd line) is a derivation element with which the BEHAVIOR component is associated: url (... / system.dragndrop.htc), whose appearance is presented in Annex. This component allows management of the drag and drop elements for the derivation of containers that it will communicate to the system.
B. Réception de l'événement ONDERIVE Lorsque le composant BEHAVIOR déclenche l'événement ONDERIVE, par l'instruction fire("ONDERIVE",oEvent) qui se trouve dans la fonction FinishDrag (la variable oEvent étant un objet événement dans lequel sont disponibles les informations (identifiants B. Reception of the ONDERIVE event When the BEHAVIOR component triggers the ONDERIVE event, by the fire ("ONDERIVE", oEvent) statement that is in the FinishDrag function (the oEvent variable is an event object in which the event is available. information (identifiers
<Desc/Clms Page number 86><Desc / Clms Page number 86>
des éléments source et cible) qui permettent la dérivation et 1'importation), le système est alors averti et réalise les actions suivantes : 1- il demande si l'utilisateur désire importer le contenu ou dériver le contenant ;. source and target elements) that allow derivation and import), the system is then notified and performs the following actions: 1- it asks if the user wants to import the content or to derive the container;
2- il envoie la requête d'importation/dérivation ; 3- il vérifie si la page d'affichage est capable de prendre en compte la nouvelle source ; 4- il déclenche le rafraîchissement de l'affichage, de la façon suivante : a. si la page est figée, reconstruction et traitement global de la source ; b. si la page est dynamique, simple notification d'insertion de données. 2- it sends the import / derivation request; 3- it checks if the display page is able to take into account the new source; 4- it triggers the refresh of the display, as follows: a. if the page is frozen, reconstruction and overall treatment of the source; b. if the page is dynamic, simple notification of data insertion.
Dans ce cas, la page reçoit la notification. In this case, the page receives the notification.
Cet événement fournit un pointeur sur un objet qui permet au script de la page de transformer cette nouvelle source (à l'aide, par exemple, de la feuille XSL qui l'a initialisée) et d'insérer le code HTML résultant dans la page. This event provides a pointer to an object that allows the page script to transform that new source (for example, using the XSL sheet that initialized it) and insert the resulting HTML into the page. .
C. Manipulation de la macrostructure L'élaboration de la macrostructure de contenants/contenus permet : - de placer de nouveaux contenus dans un contenant ; on parle alors d'importation de contenus ; - de reproduire un contenant au sein d'autres contenus ; on parle alors de dérivation de contenants. C. Manipulation of the macrostructure The development of the macrostructure of containers / contents makes it possible: - to place new contents in a container; we are talking about importing content; - to reproduce a container within other contents; we are talking about derivation of containers.
Importation Import
<Desc/Clms Page number 87><Desc / Clms Page number 87>
Supposons que l'on soit dans la situation illustrée dans la figure 76 : contenants 1 et 2 ( Container 1 et Container 2 ) sont rattachés à la catégorie 1 (symbolisé par la flèche grise). Dans le contenant 1 figure une référence au contenu 1.1 ( Content 1.1 ), et dans le contenant 2 figure une référence au contenu 1.2 ( Content 1.2 ) (ces références sont symbolisées par des flèches noires). Suppose we are in the situation shown in Figure 76: Containers 1 and 2 (Container 1 and Container 2) are attached to Category 1 (symbolized by the gray arrow). In the container 1 there is a reference to the content 1.1 (Content 1.1), and in the container 2 there is a reference to the content 1.2 (Content 1.2) (these references are symbolized by black arrows).
Importer le contenu 1.1dans le contenant 2 revient à créer, dans ce contenant, une balise CONTENTREF qui pointe vers le contenu 1.1dans la suite de contenus. Ceci se traduit par la figure 77. Importing the content 1.1 into the container 2 amounts to creating, in this container, a CONTENTREF tag that points to the content 1.1 in the content sequence. This is reflected in Figure 77.
Quand on importe un contenu d'une catégorie dans un contenant associé à une catégorie différente, on dit que l'importation provoque une re-catégorisation. Ceci se traduit par la création d'un contenu indirect, c'est à dire d'une balise similaire à une balise CONTENTREF mais qui s'en distingue par le fait qu'elle figure dans la suite de contenus, au sein d'une catégorie. Ceci est illustré sur la figure 78. When importing content from a category into a container associated with a different category, it is said that the import causes a re-categorization. This translates into the creation of indirect content, ie a tag similar to a CONTENTREF tag but which differs in that it appears in the following content, within a category. This is illustrated in Figure 78.
Dans le cas où les contenus importés possèdent des contenants, ces derniers sont dérivés suivant le mécanisme décrit ci-après. In the case where the imported contents have containers, the latter are derived according to the mechanism described below.
Dérivation Supposons que l'on dispose de l'imbrication contenant/contenu présentée sur la figure 79. Derivation Suppose we have the container / content nesting presented in Figure 79.
Dériver le contenant 1 revient à l'insérer dans un contenu à une certaine position . Pour ce faire, un nouveau contenant est créé dans l'arbre de structure, et pointe (c'est-à-dire possède une référence, matérialisée par une flèche grise sur le schéma de la figure 80a) vers le contenant que l'on veut dériver. Deriving the container 1 amounts to inserting it into a content at a certain position. To do this, a new container is created in the structure tree, and points (that is to say has a reference, shown by a gray arrow in the diagram of Figure 80a) to the container that is wants to drift.
Sur le serveur, la structure de données a alors la forme suivante pour la partie dérivée : - pour l'arbre de structure : < CONTENTREF ID=26 SRC= ... ?ID=44 NAME= Contenu > On the server, the data structure then has the following form for the derived part: - for the structure tree: <CONTENTREF ID = 26 SRC = ...? ID = 44 NAME = Content>
<Desc/Clms Page number 88><Desc / Clms Page number 88>
<POSITION CONTAINER N=1> <CONTAINER SRC= ... ?ID=126 SOURCESRC= ... ?ID=1 > </CONTAINER> <POSITION CONTAINER> </CONTENTREF> - pour la suite de contenus : <CONTENT ID= 44 CATEGORY= URL > <Contenu> <POSITION CONTAINER N= l /> </Contenu> </CONTENT> Comme on peut le voir sur la figure 80a, le contenant 126 ne référence aucun contenu. Il a juste une référence sur le contenant source, à savoir celui à partir duquel on a effectué la dérivation. Le chargement des données dans le contenant dérivé se fait donc via le contenant source : il s'agit ici de suggestion . Cela conduit, sur le poste client, à la disposition illustrée sur la figure 80b. <CONTAINER POSITION N = 1> <CONTAINER SRC = ...? ID = 126 SOURCESRC = ...? ID = 1> </ CONTAINER> <CONTAINER POSITION> </ CONTENTREF> - for the following content: <CONTENT ID = 44 CATEGORY = URL> <Content> <CONTAINER POSITION N = 1 /> </ Content> </ CONTENT> As can be seen in Figure 80a, the container 126 does not refer to any content. It just has a reference to the source container, namely the one from which the derivation was made. The loading of the data into the derived container is done via the source container: this is a suggestion. This leads, on the client computer, to the arrangement illustrated in Figure 80b.
Les sous-contenants sont dérivés exactement de la même manière que le premier contenant : un nouveau contenant est créé et pointe vers le sous-contenant source. La profondeur à laquelle on charge les éléments dans le contenant dérivé est fixée par un mécanisme de chargement progressif car, sinon, il pourrait se présenter des cas de boucles infinies dans le chargement. En effet, il est possible de dériver des contenants dans eux-mêmes, comme le montre la figure 81, et de créer ainsi une structure virtuellement infinie. Sans ce mécanisme, charger un contenant provoquerait alors une boucle infinie dans le cadre d'une structure réellement infinie. The sub-containers are derived in exactly the same way as the first container: a new container is created and points to the source sub-container. The depth to which the elements are loaded in the derived container is fixed by a progressive loading mechanism because, otherwise, there could be cases of infinite loops in the load. Indeed, it is possible to derive containers in themselves, as shown in Figure 81, and thus create a virtually infinite structure. Without this mechanism, loading a container would then cause an infinite loop within a truly infinite structure.
Cas de la superposition de contenants Case of the overlay of containers
<Desc/Clms Page number 89><Desc / Clms Page number 89>
Comme on l'a déjà évoqué, les contenants sont insérés en des positions bien précises des contenus. Mais rien n'empêche d'insérer plusieurs contenants à une même position. On parle alors de superposition de contenants. As already mentioned, the containers are inserted in very precise positions of the contents. But nothing prevents to insert several containers at the same position. This is called stacking containers.
Partons de la structure présentée dans la figure 82 (en notant que les éléments situés dans un cadre en pointillés sont considérés comme étant dans un contenant). Let's start from the structure shown in Figure 82 (noting that items in a dotted box are considered to be in a container).
Cela se traduit ainsi : - pour l'arbre de structure : <CONTENTREF ID=54 SRC= ... ?ID=42 NAME= Root > <POSITION CONTAINER N=1> <CONTAINER SRC= ... ?ID=12 CATEGORY= URL > <CONTENTREF ID=55 SRC= ... ?ID=43 NAME= A > <POSITION CONTAINER N=1> <CONTAINER SRC= ... ?ID=13 CATEGORY= URL > <CONTENTREF ID=56 SRC= ... ?ID=44 NAME= C /> </CONTAINER> </POSITION CONTAINER> </CONTENTREF> <CONTENTREF ID=57 SRC= ... ?ID=45 NAME= B > <POSITION CONTAINER N=1> <CONTAINER IDCONTAINER= 14 > <CONTENTREF ID=58 SRC= ... ? ID=46 NAME= D /> </CONTAINER> </POSITION CONTAINER> </ CONTENTREF> </CONTAINER> </POSITION CONTAINER> </CONTENTREF> - pour la suite de contenus : This translates as follows: - for the structure tree: <CONTENTREF ID = 54 SRC = ...? ID = 42 NAME = Root> <CONTAINER POSITION N = 1> <CONTAINER SRC = ...? ID = 12 CATEGORY = URL> <CONTENTREF ID = 55 SRC = ...? ID = 43 NAME = A> <CONTAINER POSITION N = 1> <CONTAINER SRC = ...? ID = 13 CATEGORY = URL> <CONTENTREF ID = 56 SRC = ...? ID = 44 NAME = C /> </ CONTAINER> </ CONTAINER POSITION> </ CONTENTREF> <CONTENTREF ID = 57 SRC = ...? ID = 45 NAME = B> <CONTAINER POSITION N = 1> <CONTAINER IDCONTAINER = 14> <CONTENTREF ID = 58 SRC = ...? ID = 46 NAME = D /> </ CONTAINER> </ CONTAINER POSITION> </ CONTENTREF> </ CONTAINER> </ POSITION CONTAINER> </ CONTENTREF> - for the following content:
<Desc/Clms Page number 90><Desc / Clms Page number 90>
<CONTENT ID= 42 CATEGORY= URL > <Root> <POSITION CONTAINER N= l /> </Root> </CONTENT> <CONTENT ID= 43 CATEGORY= URL > <A> <POSITION~CONTAINER N= 1 /> </A> </CONTENT> <CONTENT ID= 44 CATEGORY= URL > <B> <POSITION CONTAINER N= l /> </B> </CONTENT> <CONTENT ID= 45 CATEGORY= URL > <C/> </CONTENT> <CONTENT ID= 46 CATEGORY= URL > <D/> </CONTENT> Supposons maintenant que l'on dérive le contenant 13 (celui qui contient le contenu C) dans le contenu 44 (qui correspond au contenu B) à la même position que le contenant 14 (qui contient le contenu D). La balise correspondant au contenu 44 dans la suite de contenus ne sera pas modifiée. En effet, le contenu conserve une seule position pour les contenants, même si deux contenants sont superposés sur cette position. Cette superposition se manifeste au <CONTENT ID = 42 CATEGORY = URL> <Root> <CONTAINER POSITION N = 1 /> </ Root> </ CONTENT> <CONTENT ID = 43 CATEGORY = URL> <A> <POSITION ~ CONTAINER N = 1 /> < / A> </ CONTENT> <CONTENT ID = 44 CATEGORY = URL> <B> <POSITION CONTAINER N = 1 /> </ B> </ CONTENT> <CONTENT ID = 45 CATEGORY = URL> <C /> </ CONTENT> <CONTENT ID = 46 CATEGORY = URL> <D /> </ CONTENT> Suppose we now derive the container 13 (the one that contains the C content) in the content 44 (which corresponds to the B content) at the same position as the container 14 (which contains the content D). The tag corresponding to the content 44 in the content sequence will not be modified. Indeed, the content keeps a single position for the containers, even if two containers are superimposed on this position. This superposition manifests itself
<Desc/Clms Page number 91><Desc / Clms Page number 91>
niveau de l'arbre de structure par le fait qu'un nouveau contenant est ajouté sous la balise POSITION N=l, comme indiqué ci-dessous : <CONTENTREF ID=32 SRC= ... ?ID=42 NAME= Root > <POSITION~CONTAINER N=l> <CONTAINER SRC= ... ?ID=12 CATEGORY= URL > <CONTENTREF ID=33 SRC= ... ? ID=43 NAME= A > <POSITION CONTAINER N=l> <CONTAINER SRC= ... ?ID=13 CATEGORY= URL > <CONTENTREF ID=34 SRC= ... ? ID=44 NAME= C /> </CONTAINER> </POSITION CONTAINER> </CONTENTREF> <CONTENTREF ID=35 SRC= ... ?ID=45 NAME= B > <POSITION CONTAINER N=l> <CONTAINER SRC= .. ?ID=14 CATEGORY= URL > <CONTENTREF ID=36 SRC= ... ? ID=46 NAME= D /> </CONTAINER> <CONTAINER SRC= 15 CATEGORY= URL SOURCESRC= ... ?ID=13 > </CONTAINER> </POSITION CONTAINER> </CONTENTREF> </CONTAINER> </POSITION CONTAINER> </CONTENTREF> Mécanisme de Suggestion de nouveaux contenus (propagation dans la macrostructure) Le fait de dériver un contenant implique qu'il est possible d'accéder aux contenus acceptés présents dans le contenant d'origine. Ces contenus sont en fait automatiquement suggérés dans les contenants dérivés au fur et à mesure de leur insertion. level of the structure tree in that a new container is added under the POSITION tag N = 1, as shown below: <CONTENTREF ID = 32 SRC = ...? ID = 42 NAME = Root> < POSITION ~ CONTAINER N = l> <CONTAINER SRC = ...? ID = 12 CATEGORY = URL> <CONTENTREF ID = 33 SRC = ...? ID = 43 NAME = A> <CONTAINER POSITION N = l> <CONTAINER SRC = ...? ID = 13 CATEGORY = URL> <CONTENTREF ID = 34 SRC = ...? ID = 44 NAME = C /> </ CONTAINER> </ CONTAINER POSITION> </ CONTENTREF> <CONTENTREF ID = 35 SRC = ...? ID = 45 NAME = B> <CONTAINER POSITION N = l> <CONTAINER SRC = ..? ID = 14 CATEGORY = URL> <CONTENTREF ID = 36 SRC = ...? ID = 46 NAME = D /> </ CONTAINER> <CONTAINER SRC = 15 CATEGORY = URL SOURCESRC = ...? ID = 13> </ CONTAINER> </ POSITION CONTAINER> </ CONTENTREF> </ CONTAINER> </ POSITION CONTAINER> </ CONTENTREF> Suggestion mechanism for new content (propagation in the macrostructure) The fact of deriving a container implies that it is possible to access the accepted contents present in the original container. These contents are in fact automatically suggested in the derived containers as and when they are inserted.
<Desc/Clms Page number 92> <Desc / Clms Page number 92>
C'est à l'utilisateur de préciser s'il accepte ou non les suggestions, comme décrit par ailleurs. Il est à noter que seuls les contenus acceptés pourront être dérivés à leur tour. It is up to the user to specify whether or not he accepts the suggestions, as described elsewhere. It should be noted that only accepted content can be derived in turn.
La suggestion peut ainsi se faire entre des utilisateurs différents (par exemple lorsqu'un utilisateur dérive un contenant d'un document dont il n'était pas l'auteur), mais également lorsqu'un même utilisateur dérive un contenant entre deux de ses propres documents. The suggestion can thus be made between different users (for example when a user derives a container from a document of which he was not the author), but also when the same user derives a container between two of his own documents.
Lorsqu'un utilisateur dérive un contenant, il crée un nouveau contenant portant la référence du contenant source, et les contenus du contenant source qui étaient en mode Accepté y sont chargés. Ces contenus sont initialement en mode Suggéré , et l'utilisateur peut modifier leur mode. When a user derives a container, he creates a new container with the reference of the source container, and the contents of the source container that were in Accepted mode are loaded there. These contents are initially in Suggested mode, and the user can change their mode.
Sur le plan de la base de données contenue dans le serveur, le contenant dérivé ne contient aucune information sur les contenus suggérés. Ces informations peuvent en effet être retrouvées via la référence sur le contenant source. En revanche, sur le poste client où ce contenant a été dérivé, une balise CONTENTREF est ajoutée pour chaque contenu chargé dans ce contenant, avec un attribut MODE=SUGGESTED. In terms of the database contained in the server, the derived container does not contain any information about the suggested content. This information can indeed be found via the reference on the source container. On the other hand, on the client station where this container was derived, a CONTENTREF tag is added for each content loaded in this container, with a MODE = SUGGESTED attribute.
Ce qui est suggéré peut être accepté ou refusé (ou encore laissé en mode suggéré). Cet éventuel changement de mode est répercuté par une mise à jour de la base de données sur le serveur, de la façon suivante : - si le contenu est accepté : une balise CONTENTREF vers ce contenu est ajoutée dans la base de données dans le contenant dérivé, avec un attribut MODE=ACCEPTED. What is suggested can be accepted or rejected (or left in suggested mode). This possible change of mode is reflected by an update of the database on the server, as follows: - if the content is accepted: a CONTENTREF tag to this content is added in the database in the derived container , with a MODE = ACCEPTED attribute.
- si le contenu est refusé : une balise CONTENTREF vers ce contenu est également ajoutée dans la base de données dans le contenant dérivé, avec un attribut MODE=REFUSED ; l'objectif dans ce cas est de noter que ce contenu ne doit pas être présenté à l'utilisateur à la prochaine connexion. - if the content is refused: a CONTENTREF tag to this content is also added to the database in the derived container, with a MODE = REFUSED attribute; the goal in this case is to note that this content should not be presented to the user at the next login.
La mémorisation correspondant à ces différents cas est schématisée sur la figure 83. The memorization corresponding to these different cases is shown schematically in Figure 83.
Section 12 - Proposition de Répertoires Spécialistes et Voisins Section 12 - Proposal of Specialist and Neighbors Directories
<Desc/Clms Page number 93><Desc / Clms Page number 93>
On a vu dans la section précédente que, dans le cadre d'une page à laquelle l'utilisateur accède sur la Toile par des moyens standards, peuvent se trouver des contenants, et que dans chaque contenant peuvent se trouver des liens vers des contenus. Ces liens sont ceux choisis par l'administrateur du site d'où la page est issue comme devant être présentés par défaut. We saw in the previous section that, within the framework of a page to which the user accesses the Web by standard means, can be found containers, and that in each container can be links to contents. These links are those chosen by the administrator of the site from which the page comes as to be presented by default.
Ces liens sont censés être en mode Suggéré. L'utilisateur, par l'intermédiaire du système, peut modifier leur mode, pour leur donner la valeur Accepté, Gelé ou Refusé, en accédant à cette même page avec le système. These links are supposed to be in Suggested mode. The user, through the system, can modify their mode, to give them the value Accepted, Frozen or Refused, by accessing this same page with the system.
Au lieu de présenter des mêmes liens à tous les utilisateurs, la fonctionnalité de proposition de répertoires Spécialistes (déjà décrite dans les sections Publication de Liens Ajoutés et Publication de Répertoires ) permet de présenter plusieurs points de vue sur un sujet, selon une métaphore de visite des toiles personnelles de Spécialistes . Instead of presenting the same links to all users, the feature of proposing Specialist directories (already described in the sections Adding Links and Publishing Directories) makes it possible to present several points of view on a subject, according to a visit metaphor. personal paintings of Specialists.
Avec ladite page, l'utilisateur peut aussi recevoir des liens ajoutés (qui y ont été associés par l'administrateur du site ou par les Spécialistes qu'il aura sélectionnés). Grâce à la fonctionnalité de proposition de répertoires Spécialistes, les liens ajoutés ne seront suggérés qu'en relation avec une visite de répertoire et ne surchargeront ainsi pas la page d'emblée. With this page, the user can also receive added links (which have been associated with it by the administrator of the site or by the Specialists he has selected). Thanks to the Specialist directory proposal feature, the added links will only be suggested in relation to a directory visit and will not overload the page from the outset.
Dans l'exemple que l'on prendra tout au long de cette section (voir figure 84a), pour une page sur le foie gras, des Spécialistes (ici des Chefs) différents présentent : - associés à la page, des liens ajoutés sur des vins (Sauterne) et salades (Mesclun) différents ; - à l'intérieur d'un contenant de la page, des liens sur différents types de foie gras (Canard, Oie). In the example that will be taken throughout this section (see Figure 84a), for a page on foie gras, Specialists (here different Chefs) present: - associated with the page, links added on different wines (Sauternes) and salads (Mesclun); - inside a container of the page, links on different types of foie gras (Duck, Goose).
L'utilisateur peut alors accepter certains liens ajoutés et/ou des liens situés à l'intérieur de contenants de la page, qui lui sont ainsi suggérés. The user can then accept certain added links and / or links located inside containers of the page, which are thus suggested to him.
On notera que, dans ce cas, non seulement l'attribut Mode du lien ajouté mais aussi l'attribut Mode du lien dans le répertoire courant, pointant sur la page à laquelle est associé ce lien ajouté, est mis à jour à la valeur Accepté . L'acceptation remonte ainsi d'enfant à Note that, in this case, not only the Mode attribute of the added link but also the Mode attribute of the link in the current directory, pointing to the page with which this added link is associated, is updated to the Accepted value. . The acceptance thus goes back from child to
<Desc/Clms Page number 94><Desc / Clms Page number 94>
parent récursivement. Ainsi l'attribut Mode du lien pointant sur le répertoire courant, dans le répertoire qui le contient, le cas échéant, est aussi mis à jour, et ainsi de suite. Il en est de même pour les liens situés dans les contenants de la page. parent recursively. Thus the Mode attribute of the link pointing to the current directory, in the directory that contains it, if any, is also updated, and so on. It is the same for the links located in the containers of the page.
Toutefois, en général, l'utilisateur n'accepte pas un lien ajouté (ou un lien dans un contenant) pointant sur une page P, sans au préalable cliquer sur lui pour visualiser la page P qu'il pointe. However, in general, the user does not accept an added link (or a link in a container) pointing to a page P, without first clicking on it to view the page P it points.
Ensuite, si la page P l'intéresse, il l'accepte directement, sans retourner accepter le lien ajouté d'où il est venu. En d'autres termes, au lieu d'accepter le lien ajouté (ou le lien dans un contenant) pointant sur P, il accepte la page P elle-même, c'est-à-dire le lien pointant sur ladite page P dans le répertoire courant qui l'accueille. Then, if the page P interests him, he accepts it directly, without returning to accept the added link from where he came. In other words, instead of accepting the added link (or the link in a container) pointing to P, it accepts the page P itself, that is, the link pointing to said page P in the current repertoire that welcomes it.
Un perfectionnement du système consiste alors à suivre le parcours de l'utilisateur qui clique sur un lien ajouté pour que, quand la page cible est acceptée, le système mette également à jour l'attribut Mode du lien ajouté par l'intermédiaire duquel il a accédé à cette page. A refinement of the system is then to follow the path of the user who clicks on an added link so that when the target page is accepted, the system also updates the Mode attribute of the added link through which it has accessed this page.
En acceptant un lien ajouté (ou un lien situé dans un contenant de page) l'utilisateur déclare son intérêt pour les contenus vers lesquels pointent ces Liens. Son profil d'intérêt se construit ainsi progressivement, et lorsqu'il atteint un seuil de représentativité, le système peut lui proposer des répertoires proches dans la liste de répertoires Voisins d'intérêt (voir la liste Copains dans la figure 84a). By accepting an added link (or a link in a page container) the user declares his / her interest in the content to which these Links point. Its profile of interest is thus built progressively, and when it reaches a threshold of representativeness, the system can propose to him close directories in the list of directories Neighbors of interest (see the list Buddies in the figure 84a).
Dans le cas où, comme dans l'exemple de la figure 84a, la page courante comporte non seulement des liens ajoutés (Sauterne, Mesclun), mais aussi des liens dans au moins un contenant (Canard, Oie) se trouvant dans la page, le système sélectionne des répertoires qui sont proches: - par rapport aux liens ajoutés acceptés associés à la page courante : le système sélectionne les répertoires dans lesquels se trouve la page courante ainsi qu'un grand nombre de liens ajoutés en commun, comme décrit dans la section Détection de Répertoires Proches ; - par rapport aux liens acceptés) se trouvant dans chaque container se trouvant dans la page : le système sélectionne les répertoires contenant le plus grand nombre de liens en commun avec ledit contenant, comme décrit dans la section Publication de Répertoires . In the case where, as in the example of FIG. 84a, the current page comprises not only added links (Sauterne, Mesclun), but also links in at least one container (Duck, Goose) found in the page, the system selects directories that are close to: - compared to the accepted added links associated with the current page: the system selects the directories in which the current page is located as well as a large number of links added in common, as described in the section Detecting Close Directories; - in relation to the accepted links) found in each container on the page: the system selects the directories containing the largest number of links in common with the container, as described in the section Publishing Directories.
<Desc/Clms Page number 95> <Desc / Clms Page number 95>
On observera ici que le système peut exploiter non seulement les liens (liens ajoutés et liens dans les contenants) acceptés et gelés, mais aussi les liens refusés. Il est en effet intéressant de considérer ce que l'utilisateur n'a pas retenu dans les liens qui lui ont été proposé pour construire son profil. It will be observed here that the system can exploit not only the links (links and links in the containers) accepted and frozen, but also the links refused. It is indeed interesting to consider what the user did not retain in the links that were proposed to him to build his profile.
Le système exploite ces mêmes données (liens ajoutés et liens dans les contenants) pour ajuster les répertoires Spécialistes proposés à l'utilisateur. Ceci est décrit dans les sections Publication de Liens Ajoutés et Publication de Répertoires . The system uses the same data (added links and links in the containers) to adjust the Specialist directories offered to the user. This is described in the sections Adding Links and Publishing Directories.
En lui proposant un ensemble de répertoires proches, le système permet à l'utilisateur de visiter les toiles personnelles d'un ensemble d'autres utilisateurs, avec qui il peut par ailleurs se mettre en contact, comme déjà décrit dans le section Détection de Répertoires Proches . By offering a set of close directories, the system allows the user to visit the personal webs of a set of other users, with whom he can also get in touch, as already described in the section Detection of Directories Relatives .
L'utilisateur peut cliquer sur un lien (vers contenu) dans un contenant de la page, ou sur un lien ajouté pour accéder au contenu en question. Le système lui propose alors les répertoires Spécialistes , Voisins et Copains pour ce nouveau contenu, et ainsi de suite. The user can click on a link (to content) in a container of the page, or on an added link to access the content in question. The system then proposes the directories Specialists, Neighbors and Buddies for this new content, and so on.
Enfin, l'utilisateur peut sélectionner un ensemble de liens ajoutés, ou un ensemble de liens dans un contenant, pour demander au système de lui sélectionner des répertoires proches compte-tenu de cet ensemble. L'homme du métier saura facilement étendre les procédés décrits jusqu'ici pour mettre en #uvre cette fonctionnalité. Finally, the user can select a set of added links, or a set of links in a container, to ask the system to select directories close to him considering this set. Those skilled in the art will easily extend the methods described so far to implement this functionality.
Section 13 - Attributs relatifs à l'acceptation Lors de l'acceptation (passage au mode Accepté ou Gelé) d'un contenu, l'utilisateur peut spécifier s'il y est intéressé pour l'acheter, le vendre, et/ou pour d'autres intérêts qu'il y porte le cas échéant, en fonction du type de contenu. Section 13 - Acceptance Attributes When accepting (switching to Accepted or Frozen Mode) content, the user can specify whether he or she is interested in purchasing, selling, and / or other interests, if any, depending on the type of content.
Ces spécifications se font en donnant des valeurs à des attributs que le système prend en compte lors des sélections de répertoires (Spécialistes et Voisins) qu'il propose à l'utilisateur, ainsi que pour sélectionner le contenu de ces derniers le cas échéant (voir les sections Détection de Répertoires Proches , Suggestion de Liens Ajoutés par l'administrateur These specifications are given by giving values to attributes that the system takes into account when selecting directories (Specialists and Neighbors) that it proposes to the user, as well as to select the content of the latter if necessary (see the sections Detection of Close Directories, Suggestion of Links Added by the administrator
<Desc/Clms Page number 96><Desc / Clms Page number 96>
d'un site , Publication ae répertoires et rroposmon ae répertoires spécialistes et Voisins ). of a site, Publication of directories and directories of specialists and Neighbors).
L'utilisateur qui accède à une page (page courante), peut spécifier des critères sur ces attributs pour restreindre l'ensemble des répertoires (Spécialistes et Voisins) qui lui sont proposés en relation avec ladite page courante. The user who accesses a page (current page), can specify criteria on these attributes to restrict all the directories (Specialists and Neighbors) that are proposed to him in relation to said current page.
Ainsi, si par exemple il est intéressé par l'achat du produit présenté dans la page courante (ou dans un ensemble de pages qu'il sélectionne), il pourra s'intéresser sélectivement aux répertoires d'utilisateurs : - intéréssés à vendre ce produit (recherche de fournisseurs de ce produit), - ou intéréssés comme lui à acheter ce produit : il pourra ainsi se joindre au groupe d'utilisateurs intéressés par cet achat et augmenter l'influence de ce groupe pour faire baisser le prix du produit chez un fournisseur, éventuellement à l'aide d'une procédure automatisée (d'aide à l'achat groupé ) qui se déclenche quand ce critère est utilisé. Thus, if for example he is interested in the purchase of the product presented in the current page (or in a set of pages that he selects), he may be interested selectively in user directories: - Interested in selling this product (looking for suppliers of this product), - or interested like him to buy this product: he can join the group of users interested in this purchase and increase the influence of this group to lower the price of the product in a provider, possibly using an automated procedure (help with bulk purchasing) that is triggered when this criterion is used.
Dans le premier cas l'utilisateur recevra, à partir des répertoires de vendeurs ainsi sélectionnés, des liens en mode suggéré concernant des offres particulières pour le produit présenté dans la page courante ainsi que sur d'autres produits proposés par ces vendeurs. In the first case the user will receive, from the directories of sellers thus selected, links in suggested mode concerning particular offers for the product presented in the current page as well as on other products offered by these sellers.
Dans le deuxième cas, l'utilisateur bénéficiera des découvertes des autres utilisateurs (acheteurs potentiels) ayant des intérêts (et/ou goûts) proches. In the second case, the user will benefit from the discoveries of other users (potential buyers) with similar interests (and / or tastes).
Rapelons que les utilisateurs du système sont anonymes et peuvent y accéder en utilisant un pseudonyme. It should be noted that users of the system are anonymous and can access them using a pseudonym.
On va maintenant décrire une mise en #uvre particulière de cet aspect de l'invention. We will now describe a particular implementation of this aspect of the invention.
*Seuls deux attributs sont mis en #uvre : Demandeur et Offreur . * Only two attributes are implemented: Applicant and Provider.
<Desc/Clms Page number 97> <Desc / Clms Page number 97>
Lors de l'acceptation d'un lien, en utilisant l'interface illustrée aux figures 55b et 66 (qui notamment lui permettent de changer le mode du lien de suggéré en accepté ou en gelé ), l'utilisateur a deux cases à cocher à sa disposition, à savoir : Demandeur et Offreur . When accepting a link, by using the interface illustrated in FIGS. 55b and 66 (which notably allow it to change the mode of the link from suggested to accepted or frozen), the user has two checkboxes at its disposition, namely: Applicant and Provider.
Cette configuration est illustrée schématiquement à la figure 84b. This configuration is illustrated schematically in Figure 84b.
Il cochera Demandeur s'il se positionne comme demandeur, et sur Offreur s'il se positionne comme offreur , vis à vis de la chose présentée dans la page courante. On observera que ces deux possibilités ne sont pas exclusives : il peut se positionner à la fois comme demandeur et comme offreur. He will check Applicant if he positions himself as a plaintiff, and on Vendor if he positions himself as an offerer, with respect to the thing presented in the current page. It should be noted that these two possibilities are not exclusive: they can position themselves both as applicants and as offerers.
Le système mémorise la valeur de ces deux attributs pour chaque lien dans la toile personnelle de chaque utilisateur. Il peut ainsi en tenir compte dans le procédé de sélection des répertoires à proposer aux utilisateurs. The system stores the value of these two attributes for each link in the personal canvas of each user. He can thus take it into account in the process of selecting the directories to propose to the users.
Pour actionner la sélection de répertoires proposés dans les deux premières listes ( spécialistes et voisins ; voir la figure 55a) en fonction de ces deux attributs, l'utilisateur a deux autres cases à cocher Demandeur et Offreur à sa disposition. To operate the selection of directories proposed in the first two lists (specialists and neighbors, see Figure 55a) according to these two attributes, the user has two other checkboxes Applicant and Offerer at his disposal.
Ces deux autres cases à cocher sont cochées par défaut. These two other checkboxes are checked by default.
En décochant Demandeur , l'utilisateur spécifie qu'il ne s'intéresse pas à visiter les répertoires positionnés comme demandeur en regard de la chose présentée dans la page courante. By unchecking the Requestor, the user specifies that he is not interested in visiting the directories that are positioned as the requester next to the thing presented in the current page.
De même, en décochant Offreur , l'utilisateur précise qu'il ne souhaite pas recevoir de liens à partir de répertoires positionnés comme offreur en ce qui concerne la chose présentée dans la page courante. Similarly, by unchecking Offeror, the user specifies that he does not wish to receive links from directories positioned as an offerer with regard to the thing presented in the current page.
Ces attributs peuvent avoir une interprétation plus large que celle concernant l'achat et la vente. Par exemple, l'attribut Offreur peut être utilisé par l'utilisateur pour informer sur ses propres caractéristiques : l'utilisateur peut par exemple cocher l'attribut offreur sur une page These attributes may have a broader interpretation than buying and selling. For example, the attribute Vendor can be used by the user to inform about his own characteristics: the user can for example check the offerer attribute on a page
<Desc/Clms Page number 98><Desc / Clms Page number 98>
présentant un acteur de cinéma qui lui ressemble, dans l'espoir de pouvoir se mettre en contact, au moyen du système (par exemple par vidéoconférence), avec une utilisatrice qui apprécie cet acteur tel qu'il est présenté dans ladite page. presenting a film actor who looks like him, in the hope of being able to get in touch, by means of the system (for example by videoconference), with a user who appreciates this actor as it is presented on the page.
Dans le cas de l'application d'achat groupé sus-mentionné, le système proposera à l'utilisateur des voisins qui sont Demandeurs du produit présenté dans la page courante visualisée. L'utilisateur pourra alors interagir avec ces utilisateurs par des moyens assistés par ordinateur, en communication synchrone (messagerie instantanée, etc) ou asynchrone (forum et courrier électronique augmentés de moyens semi-automatiques spéciaux pour faciliter la coordination d'achat groupé, notamment pour négocier les prix avec les Offreurs). In the case of the bulk purchase application mentioned above, the system will offer the user neighbors who are Claimants of the product presented in the current page viewed. The user can then interact with these users by computer-assisted means, in synchronous communication (instant messaging, etc.) or asynchronously (forum and e-mail augmented with special semi-automatic means to facilitate the coordination of group purchasing, especially for negotiate prices with the Offerors).
Section 14 - Pages Personnalisées Les documents restructurés comme décrit dans la section précédente permettent de présenter, dans des contenants, des contenus sélectionnés en fonction des centres d'intérêts de l'utilisateur. On va maintenant décrire une façon dont peut être effectuée cette sélection. Section 14 - Custom Pages Restructured documents as described in the previous section are used to present, in containers, contents selected according to the interests of the user. We will now describe a way in which this selection can be made.
Rappelons tout d'abord que tout contenu accepté par l'utilisateur dans un contenant adopte la catégorie de ce contenant (comme on l'a décrit notamment plus haut dans le présent chapitre et comme on y reviendra dans le chapitre III), en plus des catégories des autres contenants dans lesquels l'utilisateur a aussi accepté ce contenu le cas échéant. First of all, remember that any content accepted by the user in a container adopts the category of this container (as described in particular earlier in this chapter and as will be discussed in Chapter III), in addition to categories of other containers in which the user has also accepted this content where appropriate.
Dans la mesure où le système connaît les catégories des contenants imbriqués dans un contenu qui fait l'objet d'une requête, il peut automatiquement enrichir la requête par des critères supplémentaires. En effet, le système est capable de déterminer que, pour un certain nombre de contenus de chacune desdites catégories, il existe d'autres catégories qui ont été attribuées par l'utilisateur à ces mêmes contenus. Le principe utilisé ici est d'exploiter ces autres catégories en les utilisant en tant que critères supplémentaires (ou plus exactement en tant que préférences ) pour enrichir automatiquement la requête formée par l'utilisateur. Because the system knows the categories of containers nested in content that is the subject of a request, it can automatically enrich the query with additional criteria. Indeed, the system is able to determine that for a certain number of contents of each of said categories, there are other categories that have been assigned by the user to these same contents. The principle used here is to exploit these other categories by using them as additional criteria (or more exactly as preferences) to automatically enrich the request formed by the user.
Par exemple, dans un contenu qui fait l'objet d'une requête, se trouve imbriqué un contenant de catégorie guitare , et chez l'utilisateur, un certain nombre de contenus de cette catégorie possèdent également la catégorie objet d'art . On exploite donc le fait qu'a priori, dans ce For example, in a content that is the subject of a request, there is a nested guitar category container, and in the user, a certain number of contents of this category also have the art object category. We therefore exploit the fact that, a priori, in this
<Desc/Clms Page number 99><Desc / Clms Page number 99>
contenant, l'utilisateur préférera recevoir (par le processus de suggestion décrit par ailleurs) des contenus qui possèdent non seulement la catégorie guitare , mais également la catégorie objet d'art . Ainsi, pour le contenant de catégorie guitare , la requête de l'utilisateur peut être enrichie par le critère supplémentaire : catégorie = objet d'art . On observera ici que, s'il n'existe aucun contenu appartenant à ces deux catégories simultanément, le système propose alors à l'utilisateur les contenus appartenant simplement à la catégorie guitare . Le critère supplémentaire sera ainsi pris en compte comme étant une préférence . containing, the user will prefer to receive (by the process of suggestion described elsewhere) content that not only have the category guitar, but also the category art object. Thus, for the guitar category container, the request of the user can be enriched by the additional criterion: category = art object. It will be observed here that, if there is no content belonging to these two categories simultaneously, the system then proposes to the user the contents belonging simply to the guitar category. The additional criterion will thus be taken into account as a preference.
On comprend donc que les contenus sont sélectionnés par le système de manière personnalisée , c'est-à-dire en tenant compte des centres d'intérêts potentiels de l'utilisateur pour les contenants en question. It is therefore understood that the contents are selected by the system in a personalized manner, that is to say taking into account the potential centers of interest of the user for the containers in question.
Par ailleurs, les catégorisations effectuées par les utilisateurs peuvent remonter vers l'administrateur d'un site en tant que suggestions de catégorisation pour les contenus en question, de manière à modifier la structure XML de la page considérée si l'administrateur le juge opportun. Le procédé d'auto-épuration décrit en détail dans le chapitre suivant permettra d'automatiser, dans une certaine mesure, le filtrage des catégorisations considérées comme qualitativement mauvaises ou non fiables. In addition, the categorizations performed by the users can go back to the administrator of a site as suggestions of categorization for the contents in question, so as to modify the XML structure of the page considered if the administrator deems it appropriate. The self-purification process described in detail in the next chapter will automate, to a certain extent, the filtering of categorisations considered as qualitatively bad or unreliable.
* * * Chapitre III - Processus de suggestion généralisé (Figures 85 à 134) Ce chapitre vise un cadre différent pour le processus de suggestion décrit plus haut dans les dernières sections du chapitre II ainsi que différentes extensions de ce processus. Ce processus va être décrit ci-dessous à des niveaux de fonctionnalités et de sophistication croissants. On présentera d'abord (Section 1) les structures et les procédés fondamentaux de chaque niveau. La présentation de chaque niveau s'appuie sur les niveaux précédents. Dans la Section 2, on décrira les procédés annexes de filtrage par apprentissage de fiabilité de l'information. La Section 3 présente le principe de suggestions automatiques par rapprochement d'intérêts, et la section 4 présente un perfectionnement des mécanismes de suggestion automatique qui exploite l'avantage du graphe de dérivations entre utilisateurs. * * * Chapter III - General Suggestion Process (Figures 85 to 134) This chapter aims at a different framework for the suggestion process described earlier in the last sections of Chapter II as well as different extensions of this process. This process will be described below at increasing levels of functionality and sophistication. We will first present (Section 1) the basic structures and processes of each level. The presentation of each level builds on the previous levels. In Section 2, we will describe the additional methods of filtering by learning the reliability of the information. Section 3 presents the principle of automatic suggestion by interest matching, and Section 4 presents an enhancement of automatic suggestion mechanisms that exploits the benefit of the user-to-user derivation graph.
<Desc/Clms Page number 100> <Desc / Clms Page number 100>
Ensuite sont présentés les méthodes de renforcement de l'anonymat des Utilisateurs et les modèles économiques possibles (Section 5). La Section 6 présente l'exploitation du mécanisme de dérivation/suggestion/acceptation décrit dans la première section pour la fidélisation des utilisateurs en exploitant leur fibre de collectionneur. La section 7 présente les principes d'une application concrète en XML. Then, the methods of reinforcing the anonymity of the Users and the possible economic models are presented (Section 5). Section 6 presents the exploitation of the derivation / suggestion / acceptance mechanism described in the first section for user retention by exploiting their collector fiber. Section 7 presents the principles of a concrete application in XML.
Section 1 - Structure etprocédé fondamentaux A. Bref rappel de la notation UML Considérons la structure hiérarchique schématisée ci-dessous :
Contenant-1
Contenus
Contenu-1
Contenu-2
Sous-Contenants
Contenant-11
Contenus
Sous-Contenants
Contenant-12
Contenant 2 Cette structure hiérarchique est spécifiée sur la figure 85 des dessins qui est un diagramme de classe selon un standard connu de Modélisation Orienté-Objet, noté UML (voir en particulier UML Reference Manual - Rumbaugh, Booch, Jacobson, 1999). Section 1 - Basic structure and procedure A. Brief reminder of the UML notation Let us consider the hierarchical structure schematized below:
Containing-1
contents
Content-1
Content-2
Sub-Containers
Container-11
contents
Sub-Containers
Container-12
Containing 2 This hierarchical structure is specified in Figure 85 of the drawings which is a class diagram according to a known Object Oriented Modeling standard, noted UML (see in particular UML Reference Manual - Rumbaugh, Booch, Jacobson, 1999).
<Desc/Clms Page number 101> <Desc / Clms Page number 101>
Il s'agit d'une structure hiérarchique arborescente d'Eléments ( Elt ), chaque Elément étant un Contenant ou un Contenu , les Contenants pouvant contenir des Eléments (ce sont leurs Sous-éléments SousElt ), tandis que les Contenus ne peuvent pas contenir d'éléments. It is a tree hierarchical structure of Elements (Elt), each Element being a Container or a Content, the Containers may contain Elements (these are their SousElt Sub-elements), while the Contents may not contain elements.
Les Utilisateurs du système selon l'invention utilisent une telle structure arborescente d'Eléments. The users of the system according to the invention use such a tree structure of Elements.
B. forme de réalisation de base (niveau 1) Tous les Utilisateurs du système utilisent la même structure de Contenants. Mais, dans de mêmes Contenants, chaque Utilisateur regroupe des Contenus qui peuvent être différents d'un Utilisateur à l'autre. B. Basic Implementation (Level 1) All System Users use the same Container structure. But, in the same Containers, each User groups Contents that may be different from one User to another.
Tous les Contenus de tous les Utilisateurs - sauf les Contenus confidentiels (voir plus loin) sont regroupés, dans leurs Contenants respectifs, dans une Base de Données Commune, notée BD , accessible par tous les Utilisateurs . All the Contents of all Users - except the Confidential Contents (see below) are grouped in their respective Containers into a Common Database, denoted BD, accessible by all Users.
On appelle ici Profil l'ensemble des Contenus d'un Utilisateur donné pour un Contenant donné. Here is called Profile all the Contents of a given User for a given Container.
Le diagramme de classe correspondant est illustré sur la figure 86. The corresponding class diagram is shown in Figure 86.
Le système décrit ici offre pour les Utilisateurs une garantie d'anonymat : ainsi un Utilisateur ne peut pas accéder aux Profils d'un autre Utilisateur (les Profils sont confidentiels), bien qu'il puisse accéder à tous les Contenus (non confidentiels), puisqu'il peut consulter l'ensemble de la Base de Données Commune. The system described here offers the Users a guarantee of anonymity: thus a User can not access the Profiles of another User (the Profiles are confidential), although he can access all the Contents (non-confidential), since he can consult the whole of the Common Database.
En d'autres termes, la Base de Données Commune mémorise, dans chaque Contenant, l'union des Profils des Utilisateurs pour ce Contenant, sans permettre de distinguer les Profils euxmêmes. In other words, the Common Database stores, in each Container, the union of User Profiles for that Container, without distinguishing the Profiles themselves.
<Desc/Clms Page number 102><Desc / Clms Page number 102>
De là, un Utilisateur est incapable de déterminer dans quels Profils est référencé un Contenu donné auquel il accède dans la Base de Données Commune. From there, a User is unable to determine in which Profiles is referenced a given Content that he accesses in the Common Database.
Cette organisation est schématisée sur la figure 87. This organization is shown schematically in Figure 87.
Lorsqu'un Contenu est modifié par un Utilisateur (bien entendu, à condition qu'il en ait le droit, par exemple s'il est le créateur de ce Contenu), les autres Utilisateurs, ayant ce Contenu dans leurs Profils respectifs, le voient mis à jour automatiquement dès qu'ils accèdent à la BD Commune pour la première fois postérieurement à ladite modification. When a Content is modified by a User (of course, provided that he has the right to do so, for example if he is the creator of that Content), the other Users, having that Content in their respective Profiles, see it. automatically updated as soon as they access the Commune Comic for the first time after the modification.
L'Utilisateur peut consulter la BD Commune. Il peut s'y abonner pour être automatiquement informé des ajouts de Contenus dans certains des Contenants, de façon sélective (par exemple au moyen de la puissance d'expression d'un langage classique de requêtes à une Base de Données). Le fait d'être informé automatiquement est ce qu'on appelle un procédé de suggestion , dont on donnera davantage de détails dans la suite. The User can consult the Common Compendium. It can subscribe to it to be automatically informed about the addition of Content in some of the Containers, selectively (for example by using the power of expression of a traditional query language to a Database). The fact of being informed automatically is what is called a suggestion process, which will be given more details in the following.
On va maintenant décrire un certain nombre de fonctionnalités possibles offertes aux Utilisateurs. a) Ajout et Suppression de Contenu Direct L'Utilisateur peut choisir d'ajouter dans un de ses Profils : * des Contenus qu'il aura puisé dans le Contenant lié à ce Profil * des Contenus qu'il aura puisé dans d'autres Contenants * ou encore de nouveaux Contenus qui n'existaient dans aucun Contenant (qu'il aurait par exemple collecté par navigation sur le réseau Internet). We will now describe a number of possible features offered to Users. a) Adding and Deleting Direct Content The User can choose to add in one of his Profiles: * Contents that he has drawn from the Container related to this Profile * Content that he has drawn from other Containers * or new Content that did not exist in any Container (that it would for example collected by browsing the Internet).
Quelle que soit sa provenance, si un Contenu ajouté dans un Profil n'existait pas déjà dans le Contenant lié à ce Profil, il y est ajouté. Les autres Utilisateurs peuvent alors en prendre connaissance. Regardless of where it comes from, if Content added to a Profile did not already exist in the Container linked to that Profile, it is added. Other users can then read it.
On notera ici que, dans la pratique les Profils peuvent ne pas être directement composés de Contenus, mais de Références à ces derniers, ou encore d'un mélange de Contenus et de It should be noted here that, in practice, the Profiles may not be directly composed of Contents, but of References to them, or of a mixture of Contents and
<Desc/Clms Page number 103><Desc / Clms Page number 103>
Références à des Contenus. La figure 88 illustre le diagramme de classe associé, qui comporte en particulier un lien entre Contenu et Référence à Contenu). References to Contents. Figure 88 illustrates the associated class diagram, which includes in particular a link between Content and Reference to Content).
Dans un Profil, un Contenu peut posséder l'un parmi trois attributs, à savoir Suggéré , Accepté ou Refusé . Un Contenu Suggéré signifie que ce Contenu est reçu dans le Profil, sans pour l'instant avoir été accepté ou refusé par l'Utilisateur qui possède ce Profil. In a Profile, a Content may have one of three attributes, namely Suggested, Accepted, or Rejected. Suggested Content means that Content is received in the Profile, but has not been accepted or rejected by the User who has this Profile.
Les Contenus étant dans cet état ne sont pas stockés de manière permanente (c'est-à-dire qu'une Référence n'est pas encore créée dans la BD de Profils). Content in this state is not stored permanently (ie a Reference is not yet created in the Profiles DB).
Accepter un Contenu signifie que le système crée de manière permanente une Référence à ce Contenu. Les Contenus Acceptés sont stockés dans le Profil de manière permanente. Il est ainsi à observer ici que l'acceptation au sens du présent chapitre correspond au mode Gelé décrit dans le chapitre II. Accepting Content means that the system permanently creates a Reference to that Content. Accepted Content is stored in the Profile permanently. It should be observed here that acceptance within the meaning of this chapter corresponds to the frozen mode described in Chapter II.
Un Contenu dont la présence dans un Profil est Refusée ne peut être supprimé directement dans le Contenant (c'est-à-dire dans la Base de Données Commune, où le Contenu est réellement stocké), car ce Contenu peut auparavant avoir aussi été Suggéré ou Accepté dans un autre Profil. Il ne pourra être réellement effectivement supprimé que lorsque plus aucun un autre Profil ne contiendra une Référence à ce Contenu. En attendant, c'est l'attribut Refusé qui matérialise la suppression virtuelle voulue par un Utilisateur. La Référence ayant cet attribut est toutefois stockée de manière permanente et sert à éviter de suggérer à nouveau un Contenu qui a précédemment été Refusé . b) Références à des Contenus d'autres Contenants ou à des Contenus externes (Contenus Indirects) Dans une forme de réalisation particulière, le système peut permettre aux Utilisateurs d'insérer dans un Contenant (via leurs Profils respectifs), une Référence à un Contenu appartenant déjà à un autre Contenant. Ceci est préférable à l'insertion d'une copie de ce Contenu. Bien entendu, cette Référence ne pourra exister que tant que le Contenu référencé existe. Nous appelons cette référence Contenu Indirect , et le Contenu Référencé est appelé Contenu Direct . Content whose presence in a Profile is Denied can not be deleted directly in the Container (ie in the Common Database, where the Content is actually stored), as this Content may have previously been Suggested as well. or Accepted in another Profile. It can only really be deleted when no other Profile contains a Reference to this Content. In the meantime, it is the Denied attribute that materializes the virtual deletion desired by a User. However, the Reference with this attribute is permanently stored and is used to avoid resubmitting Content that has previously been Denied. b) References to Contents of other Containers or External Content (Indirect Content) In a particular embodiment, the system may allow Users to insert into a Container (via their respective Profiles), a Reference to a Content already belonging to another Container. This is preferable to inserting a copy of this Content. Of course, this Reference can only exist as long as the Referenced Content exists. We call this reference Indirect Content, and the Referenced Content is called Direct Content.
<Desc/Clms Page number 104><Desc / Clms Page number 104>
Avantageusement, à chaque nouvel accès à la Base de Données Commune, dans le cas où le Contenu Direct a été entre-temps modifié, l'Utilisateur voit, à travers le Contenu Indirect, ce Contenu dans sa nouvelle version. Le diagramme de classe UML associé est illustré sur la figure 89. Advantageously, with each new access to the Common Database, in the case where the Direct Content has meanwhile been modified, the User sees, through the Indirect Content, this Content in its new version. The associated UML class diagram is illustrated in Figure 89.
Supprimer un Contenu Direct implique au préalable de gérer les Contenus Indirects qui lui sont liés. Ils n'auront en effet plus lieu d'exister, mais comme expliqué précédemment, ils ne pourront être effectivement supprimés que quand plus aucun Profil ne les référencera. La suppression d'un Contenu Direct consistera donc en 3 types d'actions qui ne se sont pas nécessairement exécutées immédiatement : (1) suppression, dans les Profils, des Références au Contenu Direct et aux Contenus Indirects qui lui son liés, (2) suppression de ces Contenus Indirects, (3) suppression du Contenu Direct lui-même. Deleting Direct Content implies first to manage the Indirect Content linked to it. They will not have any more to exist, but as explained previously, they will be able to be effectively removed only when no more profile will refer them. The deletion of a Direct Content will therefore consist of 3 types of actions that did not necessarily occur immediately: (1) deletion, in Profiles, of References to Direct Content and Indirect Content related to it, (2) deletion of these Indirect Content, (3) deletion of the Direct Content itself.
Un Utilisateur, qui a référencé dans son Profil un Contenu Indirect pour lequel il est averti d'une suppression prochaine, pourrait vouloir créer une copie du Contenu Direct référencé à la place du Contenu Indirect, afin de ne pas perdre l'information. Le système peut être conçu pour lui en laisser la possibilité. A User, who has referenced Indirect Content in his Profile for which he is notified of an upcoming deletion, may wish to create a copy of the Referenced Direct Content in place of the Indirect Content, so as not to lose the information. The system can be designed to give him the possibility.
Les Contenus Indirects peuvent aussi constituer des références à des contenus externes au système, et notamment des liens vers des éléments trouvés sur l'Internet. Le système comporte alors des moyens de mise à jour (ou gestion des erreurs d'accès) en cas de suppression des contenus externes. c) Popularité d'une catégorisation Le fait d'insérer un Contenu dans un certain Contenant (via un Profil) revient à le catégoriser . Un Contenant est en effet censé regrouper des Contenus de même catégorie. Indirect Content may also be references to external content, including links to items found on the Internet. The system then comprises updating means (or management of access errors) in case of deletion of the external contents. c) Popularity of a categorization Inserting Content into a certain Container (via a Profile) amounts to categorizing it. A Container is indeed supposed to group together Contents of the same category.
Différents Utilisateurs peuvent classer un même Contenu dans des Contenants différents, de manière directe (en en faisant une copie) ou au moyen d'une indirection (Contenu Indirect). Different Users may classify the same Content in different Containers, directly (by making a copy) or by means of indirection (Indirect Content).
<Desc/Clms Page number 105><Desc / Clms Page number 105>
On appelle ici Popularité le nombre de fois qu'un Contenu se retrouve dans des Profils associés à un même Contenant, ou plus généralement une variable représentative de ce nombre. Dans le cas où l'Utilisateur hésite entre deux catégorisations possibles, il préférera en général le Contenant le plus populaire, afin de parler le même langage que le plus grand nombre d'Utilisateurs et de bénéficier ainsi de services de rapprochement de profils et d'autres avantages tels qu'on les décrira dans la suite. Popularity is the number of times that a Content is found in Profiles associated with the same Container, or more generally a variable representative of this number. In the case where the User hesitates between two possible categorizations, he will generally prefer the most popular Container, in order to speak the same language as the largest number of Users and thus benefit from profile matching services and other advantages as will be described later.
L'avantage essentiel de cette forme de réalisation de base de l'invention peut être résumé par ce qui suit, en référence à la figure 90 : - tout d'abord, un Utilisateur A, pour ses besoins propres de catégorisation et mémorisation d'informations (ceci est une incitation suffisante), va au fil du temps ajouter à son propre Profil A de nouveaux Contenus, dans des Contenants représentant des catégories partagées ; - par le fait qu'il utilise ces Contenants, l'Utilisateur parle le même langage que les autres Utilisateurs et bénéficie ainsi d'avantages supplémentaires (tel que la suggestion automatique d'informations par rapprochements de profils, etc, décrits dans les sections suivantes) en échange du fait qu'il contribue à la BD Commune - la BD Commune est ainsi alimentée de manière automatique et transparente, et un autre Utilisateur B peut la consulter ou être automatiquement et spontanément renseigné sur son enrichissement ; - chaque Utilisateur peut être dans la situation A ou B ; - le fait qu'un Utilisateur contribue à la Base de Données Commune ne le prive pas de sa privauté car il peut rester anonyme ; - enfin le modèle économique permet de rétribuer ceux qui contribuent plus à la BD Commune qu'ils ne consultent, et de sanctionner l'inverse. The essential advantage of this basic embodiment of the invention can be summarized by the following, with reference to FIG. 90: first of all, a user A, for his own needs of categorization and memorization of information (this is a sufficient incentive), over time add to its own Profile A new Content, in Containers representing shared categories; - By using these Containers, the User speaks the same language as other Users and thus benefits from additional advantages (such as the automatic suggestion of information by profile matching, etc., described in the following sections ) in exchange for the fact that it contributes to the Comune BD - the BD Comune is thus fed automatically and transparently, and another User B can consult it or be automatically and spontaneously informed about its enrichment; - each User can be in situation A or B; - the fact that a User contributes to the Common Database does not deprive him of his privacy because he can remain anonymous; - finally, the economic model makes it possible to reward those who contribute more to the comic strip that they do not consult, and to sanction the opposite.
De façon encore plus résumée, l'avantage individuel de pouvoir organiser l'information (découverte par chacun), selon des catégories partagées est une incitation qui pousse chaque Utilisateur à contribuer à une BD qui est commune à tous les Utilisateurs. Even more summarized, the individual advantage of being able to organize information (discovery by everyone), according to shared categories is an incentive that pushes each User to contribute to a comic that is common to all Users.
C. Premier perfectionnement (niveau 2) Selon ce premier perfectionnement, tous les Profils ne sont pas nécessairement confidentiels. C. First Development (Level 2) According to this first development, not all Profiles are necessarily confidential.
Nous distinguons les Utilisateurs qui veulent publier certains de leurs Profils (ou un ou We distinguish Users who want to publish some of their Profiles (or one or
<Desc/Clms Page number 106><Desc / Clms Page number 106>
plusieurs sous-ensembles de leurs Profils) a l'intention des autres (ou de certains autres), par opposition aux Utilisateurs qui n'utilisent le système que pour leur organisation personnelle d'informations. several subsets of their Profiles) for others (or some others), as opposed to Users who use the system only for their personal organization of information.
Plus exactement, nous distinguons les Profils (ou sous-ensembles de Profil) qui sont publiés à l'ensemble (ou à un sous-ensemble) des autres Utilisateurs et les nommons Profil Non Confidentiel . Specifically, we distinguish the Profiles (or Profile subsets) that are published to the set (or a subset) of other Users and name them Non-Confidential Profile.
On va maintenant décrire un certain nombre de fonctionnalités autorisées par ce perfectionnement. a) Le concept de Dérivation Les Utilisateurs peuvent Dériver un Profil Non Confidentiel, c'est-à-dire l'importer et l'utiliser comme étant leur propre Profil (Confidentiel ou pas) et en enlever ou y ajouter des Contenus. We will now describe a certain number of functionalities authorized by this improvement. a) The Derivative Concept Users can Derive a Non-Confidential Profile, that is, import and use it as their own Profile (Confidential or not) and remove or add Content.
On entend par là que les Contenus Ajoutés (ou Acceptés) dans le Profil source sont automatiquement Suggérés dans le Profil dérivé et que l'Utilisateur de ce dernier peut ainsi en Accepter tout ou partie. By this we mean that the Added (or Accepted) Content in the Source Profile is automatically Suggested in the Derived Profile and that the User of the latter can thus Accept all or part of it.
Par en enlever on entend que l'Utilisateur peut Refuser certains Contenus Suggérés. By removing it we mean that the User may refuse certain Suggested Content.
Finalement, l'Utilisateur peut aussi Ajouter : * des Références à des Contenus, ou * des Références à des Références se trouvant dans d'autres Profils. Finally, the User can also Add: * References to Contents, or * References to References in other Profiles.
Les nouveaux Contenus (Directs ou Indirects) sont alors ajoutés dans la BD Commune dans le Contenant lié au Profil dérivé, s'il n'y figuraient pas déjà. The new Contents (Direct or Indirect) are then added in the Common Comic in the Container linked to the Derived Profile, if they were not already there.
Un diagramme de classe relatif à la structure d'un tel système de dérivation de Profils est illustré sur la figure 91 des dessins. A class diagram relating to the structure of such a Profile bypass system is illustrated in Figure 91 of the drawings.
<Desc/Clms Page number 107><Desc / Clms Page number 107>
Un observe qu'un Profil uenve et Non Confidentiel peut etre aenve a son tour par un autre Utilisateur. Les Références entre Profils peuvent donc se faire en cascade pour aboutir finalement aux Contenus dans la Base de Données Commune. One observes that a Uenve and Non-Confidential Profile may be passed on by another User. The References between Profiles can thus be done in cascade to finally reach the Contents in the Common Database.
Optionnellement, un Profil Dérivé peut être fusionné avec un Profil déjà existant (que ce dernier soit lui-même Dérivé ou non) et adopter le Contenant de ce dernier. En résultat, un Profil peut ainsi être dérivé de plusieurs Profils. b) Lien Profil-Contenu Une même Référence peut en même temps être dans l'état Ajouté dans un Profil et dans l'état Refusé dans un autre Profil. On doit alors introduire un objet intermédiaire Lien ProfilContenu (ou lien) pour spécifier cet état. Ainsi, une même Référence peut avoir un lien ajouté avec un Profil et un lien Suggéré avec un autre Profil. Optionally, a Derivative Profile can be merged with an existing Profile (whether the Profile itself is Derivative or not) and adopt the Container of the latter. As a result, a Profile can be derived from several Profiles. b) Link Profile-Content The same Reference can at the same time be in the Added state in a Profile and in the Refused state in another Profile. We must then introduce an intermediate object Link ProfileContent (or link) to specify this state. Thus, the same Reference may have a link added with a Profile and Suggested link with another Profile.
L'état d'un lien Profil-Contenu peut être Suggéré , Refusé , Ajouté ou Retiré . The status of a Profile-Content link can be Suggested, Rejected, Added, or Removed.
Ceci sera précisé plus loin. c) Archive On peut également introduire une fonction d' Archive de Profil , qui sert d'étape intermédiaire avant la suppression effective d'une Référence dans un Profil. This will be specified later. c) Archive You can also introduce a Profile Archive function, which serves as an intermediate step before actually deleting a Reference in a Profile.
Une Référence R peut être Retirée dans un Profil P1 alors que dans un Profil P2 on y fait référence en mode Ajouté ou Suggéré. Dans ce cas, au moment où R est Retirée dans Pl, elle est placée dans l' Archive de Profil liée à P1et ne pourra être effectivement supprimée que lorsque plus aucun Profil n'y fera référence en mode Ajouté ou Suggéré. A Reference R can be Retired in a P1 Profile while in a P2 Profile it is referenced in Added or Suggested mode. In this case, when R is Retired in Pl, it is placed in the Profile Archive linked to P1 and can only be deleted when no more Profiles refer to it in Added or Suggested mode.
Autrement dit, quand un lien Profil-Contenu passe à l'état Retiré , si d'autres références existent sur la Référence en question, cette dernière se délie du Profil et se lie avec l'Archive de ce Profil, et si aucune référence n'existe sur elle, elle peut être supprimée effectivement (sous réserve de possibilité d'annulation de l'action par des méthodes traditionnelles). In other words, when a Profile-Content link is in the Retired state, if there are other references on the Reference in question, the Reference is released from the Profile and links with the Archive of that Profile, and if no reference 'exists on it, it can be suppressed effectively (subject to the possibility of cancellation of the action by traditional methods).
<Desc/Clms Page number 108><Desc / Clms Page number 108>
Ainsi un attribut compteur ae aenvanon peut erre prévu pour mémoriser le nombre de Références Suggéré ou Ajouté sur la Référence en question. La Référence peut ainsi être supprimée de l'Archive quand la valeur du Compteur de Dérivation passe à zéro. d) Procédé de Suggestion La suggestion est le procédé de communication entre Profils. Par ce procédé, les Contenus se propagent: * soit automatiquement -d'un Profil à ses Profils dérivés, - et inversément, des Profils dérivés aux Profils sources * soit manuellement , par le fait de soumettre un Contenu d'un Profil à un autre Profil. Thus a counter attribute can be set to store the number of References Suggested or Added on the Reference in question. The Reference can be deleted from the Archive when the Bypass Counter value goes to zero. d) Suggestion Method Suggestion is the method of communication between Profiles. By this process, the Content propagates: * either automatically - from a Profile to its Derived Profiles, - and conversely, Derived Profiles to Source Profiles * either manually, by submitting Content from one Profile to another Profile.
On va détailler ci-dessous ces différents modes de propagation : i) Propagation d'un Profil à ses Profils Dérivés Les Références ajoutées dans un Profil d'un Utilisateur UB , lequel Profil est dérivé par un Utilisateur UA , sont par défaut automatiquement suggérés à UA, comme l'illustre la figure 92. We will detail below these different modes of propagation: i) Propagation of a Profile to its Derivative Profiles The References added in a Profile of a User UB, which Profile is derived by a User UA, are by default automatically suggested to AU, as shown in Figure 92.
Le résultat de la suggestion se matérialise par un lien Suggéré Dérivé comme illustré sur la figure 93. Ce lien n'est pas rendu permanent, en ce sens qu'il n'a d'existence que sur le poste client. The result of the suggestion is materialized by a Suggested Derived link as shown in Figure 93. This link is not made permanent, in the sense that it only exists on the client computer.
Dans le cas où le possesseur du Profil A accepte la suggestion du Contenu pointé par R, il n'est plus besoin de suggérer à nouveau R à chaque connexion, car une autre Référence R' pointant sur R est créée, comme le montre la figure 94. In the case where the owner of Profile A accepts the suggestion of the Content pointed by R, it is no longer necessary to suggest R again at each connection, because another Reference R 'pointing to R is created, as shown in FIG. 94.
Le système utilisera alors le fait que l'état du lien Suggéré Dérivé est Consulté (le lien est stocké de manière permanente sur le serveur) pour ne pas suggérer à nouveau ce Contenu à la prochaine connexion de l'Utilisateur sur ce Profil. The system will then use the fact that the status of the Suggested Derived link is Consulted (the link is permanently stored on the server) so as not to suggest this Content again the next time the User logs onto this Profile.
<Desc/Clms Page number 109><Desc / Clms Page number 109>
il) Propagation d'un Profil Dérive a son ou ses) Profil(s) sources; Les Références ajoutées dans un Profil Dérivé sont automatiquement suggérées au(x) propriétaire(s) du (des) Profil(s) d'origine. Bien entendu, ce (ou ces) derniers peu (ven)t accepter ou les refuser. he) Propagation of a Profile Drift to his or her) Profile (s) sources; References added in a Derived Profile are automatically suggested to the owner (s) of the original Profile (s). Of course, this (or these) last can not accept or refuse.
Le schéma de la figure 95 illustre la communication de UB à Uc via le Profil de UA, Les Profils de UB et Uc ayant été dérivés du Profil de UA. The diagram in Figure 95 illustrates the communication from UB to Uc via the UA Profile, the UB and Uc Profiles having been derived from the UA Profile.
Le résultat de la suggestion automatique du Profil B au Profil A se matérialise par un lien Suggéré, comme illustré sur la figure 96, qui n'est pas stocké de manière permanente : Dans le cas où le possesseur du Profil A accepte la Référence R, il n'est plus besoin de la suggérer à nouveau à chaque connexion, car une autre Référence R' sur R est créée. Pour le permettre, le lien Suggéré est rendu permanent. Ceci est illustré sur la figure 97. iii) Référencement (Suggestion manuelle) Par opposition aux suggestions automatiques évoquées ci-dessus, le Référencement est demandé explicitement par l'Utilisateur. Il consiste à re-catégoriser un Contenu dans un autre Contenant et entraîne la création d'un Contenu Indirect. The result of the automatic suggestion from Profile B to Profile A is materialized by a Suggested link, as shown in Figure 96, which is not permanently stored: In the case where the owner of Profile A accepts Reference R, it is no longer necessary to suggest it again with each connection, because another Reference R 'on R is created. To enable this, the Suggested link is made permanent. This is illustrated in Figure 97. iii) Referencing (Manual Suggestion) As opposed to the automatic suggestions mentioned above, Referencing is explicitly requested by the User. It consists of re-categorizing Content into another Container and resulting in the creation of Indirect Content.
Un lien Profil-Contenu de Suggestion de Référencement a le même comportement que les liens Profil-Contenant de Suggestion automatique (déjà évoqués ci-dessus - voir aussi plus loin les spécifications des transitions d'état). A Profile-Content link of Referencing Suggestion has the same behavior as the Profile-Container links of Automatic Suggestion (already mentioned above - see also the specifications of the state transitions).
Le résultat de la suggestion de Référencement du Profil B au Profil A se matérialise par un lien Suggéré tel qu'illustré sur la figure 98, qui est rendu permanent (contrairement aux exemples précédents) : On notera ici qu'en remontant le lien de Suggestion de Référencement, on peut retrouver le Profil dans lequel le Contenu en question a été référencé. The result of the suggestion of Referencing Profile B to Profile A is materialized by a Suggested link as shown in Figure 98, which is made permanent (unlike the previous examples): It should be noted that by going back the link Suggestion of Referencing, we can find the Profile in which the Content in question has been referenced.
<Desc/Clms Page number 110> <Desc / Clms Page number 110>
Dans le cas où le possesseur du Profil A accepte la Référence R, il n'est plus besoin de la suggérer à nouveau à chaque connexion, car une autre Référence R' pointant sur R est créée, comme illustré sur la figure 99. In the case where the owner of the Profile A accepts the Reference R, there is no need to suggest it again at each connection, because another Reference R 'pointing to R is created, as illustrated in Figure 99.
Note sur les types de liens Profil-Contenu Les Contenus (plus exactement des Références à des Contenus) situés dans un Profil Propre ou dans un Profil Dérivé ont des liens avec ces Profils qui peuvent être différents. Note on the types of links Profile-Content The Contents (more precisely References to Contents) located in a Clean Profile or in a Derived Profile have links with these Profiles which can be different.
Ainsi les Profils Propres peuvent avoir : * des liens Créés (liens avec de nouveaux Contenus Directs ou Indirects), * des liens Dérivés (liens avec des Contenus dérivés d'autres Profils) ou * des liens Suggérés (liens avec des Contenus qui lui ont été suggérés). Thus the Clean Profiles can have: * Created links (links with new Direct or Indirect Contents), * Derived links (links with Contents derived from other Profiles) or * Suggested links (links with Contents that have it been suggested).
Les Profils Dérivés peuvent avoir quant à eux : * des liens Créés (liens avec de nouveaux Contenus Directs ou Indirects), * des liens Dérivés (liens avec des Contenus dérivés d'autres Profils) * des liens Suggérés Dérivés (liens avec des Contenus appartenant au Profil source) ou * des liens Suggérés (liens avec des Contenus qui lui ont été suggérés). Derived Profiles may have: * Created links (links with new Direct or Indirect Content), * Derived links (links with Content derived from other Profiles) * Suggested links Derived (links with Contents belonging to Source Profile) or * Suggested links (links to suggested Content).
Le diagramme de classe illustrant ces différents types de liens est illustré sur la figure 100 des dessins. The class diagram illustrating these different types of links is illustrated in Figure 100 of the drawings.
Note sur les Transitions des liens On va décrire ci-dessous les différentes transitions apparaissant pour des liens Créés, des liens Dérivés, des liens Suggérés et des liens Archive. a. Transitions des liens Créés (figure 101) 1. Création d'une Référence (nouveau Contenu, Contenu pris du Contenant associé ou d'un autre Contenant) Link Transitions Note We will describe below the different transitions that appear for Created links, Derived links, Suggested links and Archive links. at. Transitions of Created Links (Figure 101) 1. Creation of a Reference (new Content, Content taken from the associated Container or other Container)
<Desc/Clms Page number 111><Desc / Clms Page number 111>
2. L'Utilisateur veut la supprimer, celle-ci est d'abord mise en Archive (ettet : lien Archive transition 1) 3. Remettre dans le Profil une Référence Retirée ( restore ) (effet : lien Archive transition 2) 4. Au cas où le Compteur de Dérivation tombe à zéro, la Référence peut être Supprimée effectivement (Supprimée aussi dans l'Archive - Transition 2) ainsi que son lien. b. Transitions des liens Dérivés (figure 102) 1. Soit une Référence est ( manuellement ) dérivée d'un autre Profil, soit une Référence suggérée est entérinée. En même temps, le lien Suggéré correspondant (le cas échéant) passe à Consulté (Transition 5). 2. The User wants to delete it, it is first put in Archive (ettet: link Archive transition 1) 3. Put in the Profile a Retired Reference (effect: link Archive Transition 2) 4. Au In case the Derivative Counter falls to zero, the Reference can actually be deleted (also deleted in the Archive - Transition 2) as well as its link. b. Transitions of Derived Links (Figure 102) 1. Either a Reference is (manually) derived from another Profile, or a suggested Reference is endorsed. At the same time, the corresponding Suggested link (if any) moves to Consulted (Transition 5).
2. L'Utilisateur peut ensuite la Retirer. Auquel cas elle est d'abord mise en Archive (lien Archive Transition 1). Le lien Suggéré correspondant (le cas échéant) reste à Consulté. 2. The user can then remove it. In which case it is first put in Archive (Link Archive Transition 1). The corresponding Suggested link (if any) remains in Consulted.
3. Restauration (retour de l'Archive). Transition 2 pour le lien Archive. 3. Restore (return of the Archive). Transition 2 for the Archive link.
4. Au cas où le Compteur de Dérivation tombe à zéro, la Référence est supprimée effectivement et son lien l'est donc aussi (supprimée aussi dans l'Archive : Transition 2). En même temps, le lien Suggéré correspondant (le cas échéant) est supprimé (Transition 4). c. Transitions des liens Suggérés (figure 103) On notera tout d'abord que le lien Suggéré Dérivé en est un cas particulier. 4. In the event that the Derivative Counter falls to zero, the Reference is effectively deleted and so is its link (also deleted in the Archive: Transition 2). At the same time, the corresponding Suggested link (if any) is removed (Transition 4). c. Suggested Links Transitions (Figure 103) Note that the Suggested Derived link is a special case.
1. Un Profil reçoit une Référence (un Contenu est suggéré). Le lien Suggéré dans l'état Suggéré n'est pas stocké de manière permanente, sauf dans le cas du Référencement (puisque dans ce cas la suggestion ne découle pas de la dérivation du Profil et n'est donc pas une information redondante). 1. A Profile receives a Reference (a Content is suggested). The Suggested link in the Suggested state is not stored permanently, except in the case of Referencing (since in this case the suggestion does not stem from the derivation of the Profile and is therefore not redundant information).
2. L'Utilisateur le refuse ou l'ajoute (s'il l'ajoute : transition 1 du lien Dérivé). Le lien Suggéré est alors stocké de manière permanente (dans l'état Consulté). Le système pourra ainsi éviter de suggérer à nouveau cette Référence à la prochaine connexion 3. Restauration . Le lien stocké de manière permanente est simplement supprimé dans la BD des Profils sauf dans le cas du Référencement. L'élément pourra ainsi être suggéré à nouveau. 2. The user refuses it or adds it (if it adds it: transition 1 of the Derived link). The Suggested link is then stored permanently (in the Consulted state). The system will be able to avoid suggesting this Reference again at the next connection 3. Restore. The permanently stored link is simply deleted in the Profiles DB except in the case of Referencing. The element can thus be suggested again.
<Desc/Clms Page number 112><Desc / Clms Page number 112>
4. La source étant effectivement suppnmee (lien Arcmve - 2), son uen est supprime. S'il existe, le lien Dérivé correspondant effectue la Transition 4. d. Transitions des liens Archive (figure 104)
1. Référence mise en Archive (cause : transition 2 des liens Créés et Dérivés). 4. Since the source is actually deleted (link Arcmve - 2), its uen is suppressed. If it exists, the corresponding Derived link performs Transition 4. d. Archive Link Transitions (Figure 104)
1. Reference placed in Archive (cause: transition 2 of Created and Derived links).
2. Lien Archive supprimé, soit parce que la Référence est restaurée (transition 3 des liens Créés et Dérivés), soit parce que le Compteur de Dérivation tombe à zéro (plus aucune autre Référence ne pointe sur la Référence attachée à ce lien), dans ce cas : Transition 4 pour les lien Suggéré et Dérivé ou pour le lien Créé. iv) Archivage et Restauration Partons de la situation illustrée sur la figure 105, dans laquelle un Profil A possède une Référence R' sur une Référence R d'un Profil B. 2. Archive link deleted, either because the Reference is restored (transition 3 of the Created and Derived links), or because the Derivative Counter falls to zero (no other Reference points to the Reference attached to this link), in this case: Transition 4 for the Suggested and Derived link or for the Created link. iv) Archiving and Restoring Let us start from the situation illustrated in FIG. 105, in which a Profile A has a Reference R 'on a Reference R of a Profile B.
Quand la référence R' est Retirée elle va en Archive, comme illustré sur la figure 106. When the reference R 'is removed it goes into archive, as illustrated in Figure 106.
Mais dès que plus aucune Référence ne pointe sur elle (dès que le Compteur de Dérivation de R' passe à zéro), R' peut être supprimée effectivement. Ceci est illustré sur la figure 107. But as soon as no more Reference points to it (as soon as the Derivative Counter of R 'goes to zero), R' can be suppressed effectively. This is illustrated in Figure 107.
Ce premier perfectionnement de la présente invention présente, outre les avantages de la forme de réalisation de base, toute une série d'avantages supplémentaires, et principalement le fait de pouvoir dériver des Profils, et donc de bénéficier de canaux de communication automatiques entre Utilisateurs. Plus précisément : - alors que dans la forme de réalisation de base, l'Utilisateur pouvait consulter les Contenants de la BD Commune et s'abonner à (être automatiquement informé de) leurs nouveaux Contenus, le premier perfectionnement permet à l'Utilisateur de consulter et de s'abonner aux Profils qu'il a dérivé. Il exploite ainsi l'expertise (de regroupement sélectif et de catégorisation d'informations) matérialisée dans ces Profils ; le schéma de la figure 92 illustre qu'un Contenu, ajouté par un Utilisateur UB, est communiqué à un Utilisateur UA automatiquement via leurs Profils respectifs, grâce au fait que le Profil de UA (Profil A) est This first improvement of the present invention has, besides the advantages of the basic embodiment, a whole series of additional advantages, and mainly the fact of being able to derive Profiles, and thus to benefit from automatic communication channels between Users. More specifically: - while in the basic embodiment, the User could consult the Compositers of the Common Comics and subscribe to (be automatically informed of) their new Contents, the first improvement allows the User to consult and subscribe to the Profiles he has derived. It thus exploits the expertise (of selective grouping and categorization of information) embodied in these Profiles; the diagram in Figure 92 illustrates that a Content, added by a User UB, is communicated to a User UA automatically via their respective Profiles, thanks to the fact that the Profile of UA (Profile A) is
<Desc/Clms Page number 113><Desc / Clms Page number 113>
dérivé de celui de UB (Profil B) ; autrement dit, les Références ajoutées dans un Profil d'un Utilisateur UB, lequel Profil est dérivé par un Utilisateur UA, sont par défaut automatiquement communiquées à UA. derived from that of UB (Profile B); in other words, References added in a User Profile UB, which Profile is derived by a UA User, are automatically automatically communicated to UA.
- les Références ajoutées dans un Profil Dérivé sont automatiquement suggérées au(x) propriétaire (s) du (des) Profil(s) d'origine. Au cas où ce(s) dernier(s) les valide (nt), (leurs) propre(s) Profil(s) se trouve(nt) enrichi(s) de ces Contenus, et, en vertu de ce qui précède, ces derniers sont alors automatiquement propagés aux autres Utilisateurs ayant dérivé le (s) même(s)Profil(s) et qui s'y sont abonnés. ; le schéma de la figure 95 illustre la communication de UB à UC via le Profil de UA, Les Profils de UB et UC ayant été dérivés du Profil de UA. - The References added in a Derived Profile are automatically suggested to the owner (s) of the Profile (s) of origin. In the event that the latter (s) validate them, their (their) own Profile (s) is (are) enriched with these Content, and, by virtue of the foregoing, these are then automatically propagated to other Users who have derived the same Profile (s) and subscribed to it. ; the diagram in Figure 95 illustrates the communication from UB to UC via the UA Profile, The UB and UC Profiles having been derived from the UA Profile.
- enfin, grâce à la fonctionnalité d'Archive, un Contenu dérivé dans un Profil reste vivant même quand le Contenu d'origine est supprimé. - finally, thanks to the functionality of Archive, a Content derived in a Profile remains alive even when the original Content is deleted.
D. Deuxième perfectionnement (Niveau 3) Selon ce deuxième perfectionnement, les Utilisateurs ne partagent plus une structure commune de Contenants. Autrement dit, chaque Utilisateur peut avoir une structure de Contenants différente de celles des autres Utilisateurs. D. Second Improvement (Level 3) According to this second improvement, the Users no longer share a common structure of Containers. In other words, each User can have a different Container structure than the other Users.
Ces structures de Contenants sont mémorisées dans des Bases de Données (BD) Personnelles des Utilisateurs et non dans la BD Commune, qui d'ailleurs n'existe plus en tant que telle mais en tant qu'ensemble de fichiers ( Contenants ). These Container structures are stored in Personal Databases (DB) of Users and not in the Common Comic, which moreover does not exist anymore as such but as a set of files (Containers).
Dans le même esprit que ce qui précède, une BD Personnelle est composée de Références plutôt que des Contenants et Contenus eux-mêmes. En effet, pour chaque Contenant, tous les Contenus (sauf ceux qui sont confidentiels) sont mémorisés en dehors de la BD Personnelle, dans un fichier commun ( Contenant ) . Dans la BD Personnelle, les références à ces Contenus forment un Profil . Certains de ces Profils peuvent être publiés à l'ensemble ou à un sous-ensemble des autres Utilisateurs (Profils Non Confidentiels - voir plus haut). In the same spirit as the above, a Personal DB is composed of References rather than Containers and Contents themselves. Indeed, for each Container, all the Contents (except those which are confidential) are memorized outside the Personal DB, in a common file (Container). In the Personal DB, references to these Contents form a Profile. Some of these Profiles may be published to all or a subset of other Users (Non-Confidential Profiles - see above).
<Desc/Clms Page number 114><Desc / Clms Page number 114>
Les Profils contiennent des Sous-Profils et forment ainsi une structure arborescente illustrée sur la figure 108 (ou encore une structure de graphe), qui peut être différente d'une BD Personnelle à une autre. The Profiles contain Sub-Profiles and thus form a tree structure shown in Figure 108 (or a graph structure), which can be different from one Personal DB to another.
De manière primitive, cette structure peut être représentée par un diagramme de classe UML , comme illustré sur la figure 109. Primarily, this structure can be represented by a UML class diagram, as shown in Figure 109.
Ici encore, le système offre une garantie d'anonymat : Les Utilisateurs, pour un Contenant donné (accessible à travers un Profil de leur BD Personnelle), peuvent consulter (ou être abonné à) tous les Contenus ajoutés par les autres Utilisateurs dans ce Contenant, sans pouvoir déterminer quel Contenu figure dans quelle BD Personnelle. Here again, the system offers a guarantee of anonymity: The Users, for a given Container (accessible through a Profile of their Personal DB), can consult (or subscribe to) all the Content added by the other Users in this Container. , without being able to determine which Content is in which Personal Comics.
Ici, deux Profils associés à un même Contenant peuvent avoir une dénomination différente. On appelle Catégorie le nom d'un Profil. Comme la Catégorie d'un Contenant dépend du choix de l'Utilisateur, la classe Catégorie est associée à la classe Profil (ou en constitue un attribut) et non pas à la classe Contenant . Here, two Profiles associated with the same Container may have a different name. The name of a Profile is called Category. Since the Category of a Container depends on the choice of the User, the Category class is associated with the Profile class (or an attribute of it) and not the Container class.
On va maintenant décrire la façon dont l'arborescence est construite par chaque Utilisateur , c'est-à-dire la façon dont les différents Sous-Contenants sont créés dans les Profils, ainsi que l'incitation qui existe pour un Utilisateur à dériver un Profil. a) Nouveau Contenant L'Utilisateur peut librement créer un nouveau Contenant, en tant que sous-profil dans un Profil de sa BD Perso. S'il est Non Confidentiel, celui-ci donnera lieu à un nouveau fichier (Contenant-1) dans la Partie Commune, comme illustré sur la figure 110. b) Contenant déjà existant Alternativement, l'Utilisateur peut dériver un Profil Non Confidentiel d'un autre Utilisateur ou un Profil de sa propre BD Personnelle. Ce Profil est ajouté en tant que Sous-Profil dans un Profil de sa BD Personnelle qu'il a choisi (il a par exemple inséré le Profil dérivé dans ce We will now describe how the tree is built by each User, ie how the different Sub-Containers are created in the Profiles, as well as the incentive that exists for a User to derive a Profile. a) New Container The User can freely create a new Container, as a sub-profile in a Profile of his Personal DB. If it is Non-Confidential, it will result in a new file (Container-1) in the Common Part, as shown in Figure 110. b) Existing Container Alternatively, the User may derive a Non-Confidential Profile from another User or Profile from his own Personal Comics. This Profile is added as a Sub-Profile in a Profile of his Personal DB that he has chosen (for example, he has inserted the Derived Profile into this Profile).
<Desc/Clms Page number 115><Desc / Clms Page number 115>
Profil par la technique du glisser- déposer ). Les éléments (Contenus et SousProfils) que le Profil source contient sont automatiquement suggérés dans ce nouveau SousProfil. Profile by the technique of drag and drop). The elements (Contents and SubProfiles) that the Source Profile contains are automatically suggested in this new SubProfile.
On notera ici que le fait de dériver un Profil n'engendre pas automatiquement la dérivation de toute la structure sous-jacente. Autrement dit, les Sous-Profils ne sont pas dérivés d'office, mais seulement si l'Utilisateur les ajoute explicitement. En effet, dans le cas contraire, le processus de dérivation pourrait rentrer dans une boucle infinie. c) Incitation l'Utilisateur à dériver un Profil i) Lien Profil-Profil Créé L'Utilisateur peut décider de dériver un Profil suite à sa consultation, par sa propre initiative, des Profils (non confidentiels) mis à sa disposition par les autres Utilisateurs. ii) Lien Profil-Profil Suggéré ou Dérivé Grâce au processus de suggestion descendante indiqué plus haut à propos du premier perfectionnement, les nouveaux Sous-Profils ajoutés dans un Profil Pl, duquel un Profil P2 a été dérivé, se retrouvent automatiquement dans P2, en mode suggéré. Inversement, grâce au processus de suggestion remontante, un nouveau Sous-Profil ajouté dans P2 est suggéré dans P1. Quand un nouveau Sous-Profil apparaît ainsi, l'Utilisateur peut l'ignorer (c'est le cas par défaut), le garder (l'ajouter) ou le refuser. iii) Lien Profil-Profil Référence ( Suggestion Manuelle ) Ce processus est appelé Référencement . Un Utilisateur UA peut, de sa propre initiative, suggérer une Référence RI ou un Profil P1 à un Utilisateur UB , pour qu'il soit dérivé en tant que Référence RI' ou profil P1' sous un Profil P2 (Non Confidentiel) de la BD Personnelle de UB. It should be noted here that deriving a Profile does not automatically generate the derivation of the entire underlying structure. In other words, sub-profiles are not automatically derived, but only if the user explicitly adds them. Indeed, in the opposite case, the derivation process could enter an infinite loop. c) Inciting the User to derive a Profile i) Link Profile-Profile Created The User can decide to derive a Profile following his consultation, on his own initiative, Profiles (non-confidential) made available by other Users . ii) Suggested or Derived Profile Profile Link Using the top-down suggestion process mentioned above for the first refinement, the new Sub-Profiles added in a Pl Profile, from which a P2 Profile has been derived, are automatically reflected in P2, in suggested mode. Conversely, thanks to the feedback process, a new Sub-Profile added in P2 is suggested in P1. When a new Sub-Profile appears in this way, the User can ignore it (this is the case by default), keep it (add it) or refuse it. iii) Profile-Profile Link Reference (Manual Suggestion) This process is called Referencing. An AU User may, on his / her own initiative, suggest an RI Reference or a P1 Profile to a UB User, so that it is derived as an RI Reference 'or P1 Profile' under a P2 Profile (Non-Confidential) of the DB Personal UB.
Ces différents liens apparaissent sur le diagramme de classe de la figure 111. These different links appear on the class diagram of Figure 111.
<Desc/Clms Page number 116> <Desc / Clms Page number 116>
Outre les avantages mentionnés plus haut à propos de la forme de réalisation de base et du premier perfectionnement (niveaux 1 et 2), ce second perfectionnement de l'invention ajoute d'autres avantages : - tout d'abord, différents Utilisateurs peuvent avoir une structure différente de Contenants ; l'Utilisateur est ainsi maître de la catégorisation de ses données et n'est pas contraint par une structure commune figée ; dans ce nouveau cadre, le système : * exploite toujours le fait que les Contenants sont partagés (avantage du niveau 1), et * permet des dérivations non seulement de Contenus mais aussi de structures arborescentes de Contenants. In addition to the advantages mentioned above with regard to the basic embodiment and the first improvement (levels 1 and 2), this second improvement of the invention adds other advantages: - firstly, different users can have a different structure of Containers; the User is thus master of the categorization of his data and is not constrained by a fixed common structure; in this new framework, the system: * always exploits the fact that Containers are shared (advantage of level 1), and * allows derivations not only of Contents but also tree structures of Containers.
- ensuite, la dérivation de Profil ou de Contenu peut se faire, non seulement par l'initiative de l'Utilisateur qui dérive, mais aussi par l'initiative d'un autre Utilisateur qui souhaite que ses Profils ou Contenus soient dérivés dans un Profil externe (mécanisme de Référencement) et qui pour cela les suggèrent manuellement (par opposition aux suggestions automatiques décrites plus haut. - Then, the derivation of Profile or Content can be done, not only by the initiative of the User who derives, but also by the initiative of another User who wishes that his Profiles or Contents are derived in a Profile external (referencing mechanism) and for that suggest them manually (as opposed to the automatic suggestions described above.
Ce dernier avantage est considérable ; grâce au Référencement, le système peut s'étendre et voir sa Communauté d'Utilisateurs augmenter toujours plus, sans véritable risque de pollution à cause de l'introduction d'informations de mauvaise qualité. En effet, bien que de telles informations puissent effectivement être introduites dans le système, le nombre d'Utilisateurs qui y accéderont ne sera pas significatif. Car pour que l'on y accède à grande échelle, il faudrait qu'elles soient Référencées dans les Profils publics à grande audience , c'est-à-dire connus par un grand nombre d'Utilisateurs et largement consultés et/ou dérivés. Or, les propriétaires de ces Profils publics ne sont pas obligés d'accepter un Référencement suggéré par n'importe qui et peuvent le filtrer. Ils filtreront ainsi les mauvaises informations sous peine de dévaloriser leurs propres image et la confiance de leur audience . Les Utilisateurs du système jouent donc eux-mêmes le rôle de modérateurs décentralisés. Le système est ainsi auto-régulé. This last advantage is considerable; thanks to SEO, the system can expand and see its User Community grow even more, with no real risk of pollution due to the introduction of poor quality information. Indeed, although such information can actually be introduced into the system, the number of users who access it will not be significant. Because in order for it to be accessed on a large scale, it would have to be Referenced in public profiles with a large audience, that is to say known by a large number of users and widely consulted and / or derived. However, the owners of these Public Profiles are not obliged to accept a Referencing suggested by anyone and can filter it. They will thus filter the bad information under penalty of devaluing their own image and the confidence of their audience. System Users therefore play the role of decentralized moderators themselves. The system is thus self-regulated.
E. Troisième perfectionnement (niveau 4) E. Third Upgrade (Level 4)
<Desc/Clms Page number 117><Desc / Clms Page number 117>
Ce troisième perfectionnement consiste en une évolution du deuxième pour prendre en compte l'assemblage, dans un Profil d'un Utilisateur, de plusieurs ensembles de Contenus pour un même Contenant. This third improvement consists of an evolution of the second one to take into account the assembly, in a Profile of a User, of several sets of Contents for the same Container.
Selon ce perfectionnement, les Profils du Niveau 3 sont remplacés par des Classeurs . Un Classeur est associé à un Contenant et contient (zéro, une ou) plusieurs Pages . Chaque Page rassemble un ensemble de Contenus. According to this refinement, Level 3 Profiles are replaced by Workbooks. A Workbook is associated with a Container and contains (zero, one or more pages). Each Page brings together a set of Contents.
Un Classeur contient donc des Pages et des sous-classeurs. A workbook contains pages and subclasses.
La structure arborescente est ainsi représentée sous la forme d'une hiérarchie de Classeurs , comme illustré sur la figure 112. The tree structure is thus represented in the form of a hierarchy of binders, as illustrated in FIG.
Les classeurs, les pages et les Références peuvent être dérivés. Les liens Profil-Contenu sont remplacés par des liens Classeur-Page et Page-Contenu. L'Archive de Profil est remplacée par une Archive globale pour chaque Base de Données Personnelle. Workbooks, Pages, and References can be derived. Profile-Content links are replaced by Link-Page and Page-Content links. The Profile Archive is replaced by a Global Archive for each Personal Database.
Cette structure est spécifiée par le diagramme de classe illustré sur la figure 113. This structure is specified by the class diagram shown in Figure 113.
Les Classeurs et les Pages (Non Confidentiels) d'une BD Personnelle peuvent être dérivés d'une autre BD Personnelle, voire d'un autre endroit de la même BD Personnelle. The Binders and Pages (Non-Confidential) of a Personal DB may be derived from another Personal DB, or even from another location in the same Personal DB.
Les avantages des niveaux 1 à 3 subsistent ici. The benefits of levels 1 to 3 remain here.
On va maintenant décrire une application pratique de ce troisième perfectionnement. We will now describe a practical application of this third improvement.
Un Utilisateur possède un classeur de base qui lui est propre , dans lequel il peut réaliser différentes actions, et en particulier : a) Création de sous-éléments propres à l'Utilisateur A User has a basic workbook of his own, in which he can perform various actions, and in particular: a) Creation of sub-elements specific to the User
<Desc/Clms Page number 118><Desc / Clms Page number 118>
L'Utilisateur constitue son Classeur de ses propres Sous-Classeurs, Pages et Calques (on décrira ces deux derniers objets dans la suite) grâce à un éditeur de documents intégré au système. b) Création de sous-éléments dérivés L'Utilisateur insère dans son Classeur des éléments récupérés dans d'autres Classeurs. c) Suppression de sous-éléments propres à l'Utilisateur L'Utilisateur supprime ses propres éléments. d) Acceptation ou Refus de sous-éléments dérivés L'Utilisateur rend visible ou non les sous-éléments implicites des éléments dérivés , c'est à dire les sous-éléments des éléments récupérés dans d'autres Classeurs. The User constitutes his Binder with his own Sub-Files, Pages and Layers (these last two objects will be described later) thanks to a document editor integrated into the system. b) Creation of derived sub-elements The User inserts in his workbook elements recovered in other workbooks. c) Deletion of sub-elements specific to the User The User deletes his own elements. d) Acceptance or Refusal of derived sub-elements The User makes visible or not the implicit sub-elements of the derived elements, ie the sub-elements of the elements recovered in other Binders.
Ces informations sont stockées dans une base de données par exemple de type SQL, telle qu'illustrée sur la figure 114. This information is stored in a database, for example of the SQL type, as illustrated in FIG.
On notera que les champs de référencement REFelement, REFstyle, REFcontenu sont ici des adresses de type url . Les pages vers lesquelles on pointe renvoient ainsi le code désiré, et en particulier les données de Contenu en format HTML, les données de Classeur en format XML, etc. It should be noted that REFLement, REFstyle, REFcontenu referencing fields are here url type addresses. The pages to which one points thus return the desired code, and in particular the data of Content in HTML format, the data of Workbook in XML format, etc.
Comme on le voit sur la figure 114, les Classeurs, Pages et Calques sont des éléments reliés hiérarchiquement par des tables Lien . leurs définitions ne se distinguent que par un attribut en moyenne (IDcontenant par un classeur, REFstyle pour une page, IDcontenu pour un calque). As can be seen in Figure 114, the Binder, Pages and Layers are hierarchically linked elements by Link tables. their definitions are distinguished only by an average attribute (IDcontaining by a workbook, REFstyle for a page, IDcontent for a layer).
On va décrire ci-dessous, dans ce contexte, des exemples d'actions. a) Prologue : création d'Utilisateur In this context, examples of actions will be described below. a) Prologue: User creation
<Desc/Clms Page number 119><Desc / Clms Page number 119>
Avant toute action de l'Utilisateur, il faut bien que celui-ci soit défini. Son existence est inscrite dans une table Utilisateurs , telle qu'illustrée sur la figure 115. Before any action by the User, it must be defined. Its existence is written in a Users table, as shown in Figure 115.
(Remarque : à la création d'un nouvel Utilisateur, on crée également un Classeur de Base et un élément pour Archive (élément de type particulier pour stocker tous les éléments en voie de suppression, comme décrit plus haut). b) Action 1 : créationd'élément/sous- élément propre à l'Utilisateur La figure 116 illustre une structure hiérarchique de Classeurs et une Table associée, pour un Utilisateur donné (ici l'Utilisateur No. 1 appelé Demo ). (Note: when creating a new User, we also create a Base Workbook and an item for Archive (special type element to store all the elements being deleted, as described above) b) Action 1: user-specific element / sub-element creation Figure 116 illustrates a hierarchical structure of Workbooks and an associated Table for a given User (here User No. 1 called Demo).
Les différents éléments de la Table de la figure 116 sont propres à cet Utilisateur, en ce sens qu'ils ne font pas référence à un autre élément (le champ REFelement est toujours égal à la valeur Null , c'est-à-dire vide). The different elements of the Table in Figure 116 are specific to this User, in that they do not refer to another element (the REFelement field is always equal to the null value, that is to say empty ).
On distingue les 3 types d'éléments suivants, reconnus par la valeur de la variable Type de la Table de la figure 116. i) Les Classeurs (type 1) Dans le présent exemple, les éléments Nos. 1 et 2 (c'est-à-dire dont les valeurs de IDelement sont respectivement égales à 1 et 2) sont des Classeurs appelés Demo 0 et Demo 0 1 , le Classeur No. 1 étant d'ailleurs le Classeur de Base de l'Utilisateur en question. ii) Les Pages (type 2) Dans le présent exemple, les éléments Nos. 3 et 7 sont des Pages de l'Utilisateur. iii) Les Calques (type 3) Dans ce même exemple, les éléments Nos. 4 et 5 sont des Calques de l'Utilisateur. The following 3 types of elements are distinguished by the value of the Type variable of the Table in Figure 116. i) Classifiers (type 1) In this example, the elements Nos. 1 and 2 (that is, whose IDelement values are 1 and 2 respectively) are Binders called Demo 0 and Demo 0 1, Binder No. 1 being the Basic Binder of the 'User in question. ii) Pages (type 2) In this example, the elements Nos. 3 and 7 are User Pages. iii) Layers (type 3) In this same example, the elements Nos. 4 and 5 are User's Layers.
<Desc/Clms Page number 120> <Desc / Clms Page number 120>
Les liens de parentés sont inscrits dans une Table Liens , telle qu'illustrée sur la figure 117. Cette Table montre que l'élément No. 1 ( Demo 0 ) est le Parent des éléments Nos. 2 et 6 ( Demo 0 1 et Demo 0 2 ) c) Action 2 : création d'élément/sous-élément Dérivé La figure 118 montre un exemple d'une structure arborescente de classeurs incluant un Classeur Dérivé (nommé ici Aline favoris ), et de la Table associée. The kinship relationships are listed in a Table Links, as shown in Figure 117. This Table shows that Item No. 1 (Demo 0) is the Parent of Elements Nos. 2 and 6 (Demo 0 1 and Demo 0 2) c) Action 2: Derivative element / sub-element creation Figure 118 shows an example of a tree structure of workbooks including a Derived Workbook (here referred to as Aline Favorites), and the associated Table.
Un élément dérivé résulte de la récupération d'un élément par un autre Utilisateur que son concepteur original. C'est un élément propre au récupérateur auquel est ajouté une référence à l'élément original. A derived element results from the retrieval of an element by a User other than its original designer. It is an element specific to the recuperator, to which is added a reference to the original element.
L'exemple de la figure 118 montre que l'élément No. 9 ( Aline favoris ) est dérivé de l'élément No. 2 ( Demo 0 1 ), car la valeur de REFelement est ici égale à 2. The example of FIG. 118 shows that element No. 9 (preferred Aline) is derived from element No. 2 (Demo 0 1), since the value of REFelement is here equal to 2.
Le Classeur No. 9 possède alors implicitement les sous-éléments du classeur No. 2 . Ces sous- éléments devront être Acceptés ou Refusés (voir plus loin action 4) pour que les Utilisateurs qui dériveront le classeur No. 9 les voient ou ne les voient pas, selon le cas. The Binder No. 9 then implicitly has the sub-elements of the binder No. 2. These sub-elements must be Accepted or Refused (see Action 4 below) so that Users who derive Workbook No. 9 do not see or see them, as the case may be.
Comme dans un élément propre à l'Utilisateur , l'Utilisateur de l'élément dérivé peut ajouter ou retrancher d'autres éléments selon son choix ; ses ajouts et suppressions seront d'ailleurs suggérés par la suite à l'auteur de l'élément original. As in a User-specific element, the User of the derived element can add or subtract other elements according to his choice; its additions and deletions will be suggested later to the author of the original element.
(Remarque : Lorsqu'un Utilisateur crée un élément dérivé (comme ici le Classeur Aline favoris ), le compteur de dérivation de l'élément original (variable Compteur est automatiquement incrémenté (comme ici pour le classeur demo 0 1 ). Ceci permet de savoir si la suppression de l'original est possible ou si cet original doit être mis en archive lorsque son auteur le masque. d) Action 3 : Suppressiond'éléments propres à l'Utilisateur (Note: When a user creates a derived element (as here the Favorite Aline Workbook), the derivation counter of the original element (counter variable is automatically incremented (as here for the demo workbook 0 1). if the deletion of the original is possible or if this original must be archived when its author masks it d) Action 3: Deletion of elements specific to the User
<Desc/Clms Page number 121><Desc / Clms Page number 121>
i) Suppression d'un sous-élément propre non dérivé Considérons l'exemple où l'Utilisateur demo désire supprimer le sous-élément Demo 0 2 . D'après le Compteur de Dérivation, celui-ci n'est utilisé comme référence par personne. On peut donc supprimer le lien entre Demo 0 et Demo 0 2 , mais aussi supprimer Demo 0 et tous ses sous-éléments dont la valeur du Compteur de Dérivation est nul. i) Deleting a clean non-derived sub-element Consider the example where the user demo wishes to delete the sub-element Demo 0 2. According to the Derivative Counter, it is used as a reference by no one. We can therefore remove the link between Demo 0 and Demo 0 2, but also delete Demo 0 and all its sub-elements whose value of the Derivative Counter is zero.
Le résultat de cette suppression est illustré sur la figure 119. ii) Suppression d'un sous-élément propre dérivé au moins une fois Considérons ici l'exemple où l'Utilisateur demo désire supprimer le sous-élément Demo 02 . The result of this deletion is shown in figure 119. ii) Deleting a derived sub-element at least once Consider here the example where the User demo wishes to delete the sub-element Demo 02.
Or, d'après la valeur du Compteur de Dérivation, celui-ci est utilisé comme référence par un autre classeur (en l'occurrence le classeur Aline favoris ). On peut donc supprimer le lien entre Demo 0 et Demo 0 1 , mais on ne peut pas supprimer l'élément Demo 0 1 luimême. However, according to the value of the Derivative Counter, it is used as a reference by another workbook (in this case the Aline bookmark). We can therefore remove the link between Demo 0 and Demo 0 1, but we can not delete the element Demo 0 1 itself.
C'est pourquoi, celui-ci est alors apparenté au classeur Archive de l'Utilisateur (pour ne pas engendrer un orphelin). Il y restera jusqu'à ce que la valeur du Compteur de Dérivation tombe à zéro. Therefore, it is then related to the User Archive folder (not to generate an orphan). It will stay there until the Derivative Counter value drops to zero.
La situation est illustrée sur les figures 120a à 120c. Ainsi la figure 120c montre que l'élément n 2 (Idenfant = 2) n'appartient plus vraiment à l'élément No. 1 (Idparent = 1), car son attribut Opération a la valeur zéro. The situation is illustrated in FIGS. 120a to 120c. Thus Figure 120c shows that element n 2 (Idenfant = 2) no longer really belongs to element No. 1 (Idparent = 1), because its Operation attribute has the value zero.
Ce même élément est en revanche ajouté à l'élément archive n 12 (Idparent = 12) de l'Utilisateur, dont il devient un sous-élément. This same element is however added to the archive element n 12 (Idparent = 12) of the User, of which it becomes a sub-element.
Le fait que ce sous-élément soit rattaché à un élément archive permettra de pouvoir encore le visualiser le cas échéant le restaurer à l'initiative de l'Utilisateur, comme on va le voir cidessous. The fact that this sub-element is attached to an archive item will still be able to view it if necessary restore it at the initiative of the user, as we will see below.
<Desc/Clms Page number 122><Desc / Clms Page number 122>
iii) Restauration d'un sous-élément archive Pour restaurer un sous-élément archive , l'Utilisateur consulte l'élément archive et désigne le sous-élément à restaurer. Il suffit alors de remplacer le 0 par un + dans le lien correspondant au sous-élément. Puis on supprime le lien entre cet élément et l'élément archive . Ceci est illustré sur la figure 121. iii) Restoring an archive sub-element To restore an archive sub-element, the user consults the archive element and designates the sub-element to be restored. Then simply replace the 0 with a + in the link corresponding to the sub-element. Then we delete the link between this element and the archive element. This is illustrated in Figure 121.
On observera que l'on pourrait mettre également en archive les éléments supprimés dont le compteur de dérivation est nul pour permettre leur restauration... Dans ce cas, la vidange se ferait de la même manière qu'avec la corbeille d'un explorateur de fichiers. Les éléments ne pourront cependant être vidangés tant que leur compteur de dérivation est non nul. e) Action 4 : Acceptation/Refus de sous-éléments implicites Les éléments dérivés possèdent implicitement les sous-éléments de l'élément original. It will be observed that one could also archive the deleted elements whose derivation counter is zero to allow their restoration ... In this case, the emptying would be done in the same way as with the basket of an explorer of files. However, the elements can not be drained until their bypass counter is nonzero. e) Action 4: Acceptance / Refusal of implicit sub-elements The derived elements implicitly possess the sub-elements of the original element.
Ainsi, à chaque ouverture de son élément dérivé, l'Utilisateur verra apparaître et disparaître des sous-éléments au gré de l'Utilisateur de l'élément original. Ainsi la figure 122 illustre le cas où un classeur n 9 Aline favoris (Idelement = 9) est dérivé d'un classeur n 2 (REFelement = 2), et possède donc implicitement les sous-éléments de ce dernier, tels que les éléments illustrés sur la figure 123, dont la variable Idparent est égale à 2. Thus, at each opening of its derived element, the user will see appear and disappear sub-elements at the discretion of the user of the original element. Thus, FIG. 122 illustrates the case where a preferred Aline classifier 9 (Idelement = 9) is derived from a classifier n 2 (REFelement = 2), and therefore has implicitly the sub-elements of the latter, such as the illustrated elements. in Figure 123, whose Idparent variable is equal to 2.
On va décrire ci-dessous comment ces sous-éléments peuvent être Acceptés ou Refusés. i) Acceptation d'un sous-élément implicite L'Utilisateur doit accepter un sous-élément implicite (sous-élément de l'original) pour ne pas risquer de le voir disparaître et pour le proposer aux Utilisateurs qui dériveront ou qui ont dérivé à leur tour l'élément dérivé (par exemple, si dans l'exemple ci-dessus un troisième Utilisateur crée un classeur dérivé du classeur n 9). We will describe below how these sub-elements can be Accepted or Refused. i) Acceptance of an implicit sub-element The User must accept an implicit sub-element (sub-element of the original) in order not to risk seeing it disappear and to propose it to Users who derive or who have drifted to in turn the derived element (for example, if in the above example a third User creates a workbook derived from workbook # 9).
<Desc/Clms Page number 123> <Desc / Clms Page number 123>
L'acceptation d'un sous-élément implicite est en fait une dérivation de ce sous- élément dans le classeur dérivé. En base de données, cela revient donc à créer un classeur dérivé et à en faire un enfant de l'élément dérivé. The acceptance of an implicit sub-element is actually a derivation of this sub-element in the derived workbook. In the database, this amounts to creating a derived workbook and making it a child of the derived element.
Exemple d'acceptation du sous-classeur implicite Demo 0 Il La figure 124 illustre la création de l'élément n 15 dérivé du n 13, à savoir Demo 0 1 1 , et la figure 125 illustre la création du lien de parenté entre les éléments. Example of acceptance of the implicit subfolder Demo 0 Il Figure 124 illustrates the creation of the element n 15 derived from n 13, namely Demo 0 1 1, and Figure 125 illustrates the creation of the relationship between the elements .
L'Utilisateur exprime ainsi son intérêt à l'auteur original pour cet élément. De plus, l'auteur original pourra ainsi lui suggérer par la suite des ajouts et retranchement de sous-éléments. ii) Refus d'un sous-élément implicite L'Utilisateur doit refuser un sous-élément implicite (sous-élément de l'original) lorsqu'il ne souhaite pas le voir réapparaître à chaque ouverture de son classeur. The User expresses his interest to the original author for this element. In addition, the original author will be able to suggest further additions and retrenchment of sub-elements. ii) Refusal of an implicit sub-element The User must refuse an implicit sub-element (sub-element of the original) when he does not wish to see it reappear each time his workbook is opened.
Le refus d'un sous-élément implicite est en fait un lien de parenté spécial entre ce sous- élément et le classeur dérivé qui permet de signifier le refus. En base de données, cela revient donc à créer un lien entre l'élément dérivé et le sous-élément avec la valeur - dans le champ Operation. The rejection of an implicit sub-element is actually a special relationship between this sub-element and the derived workbook that serves to signify the refusal. In the database, this amounts to creating a link between the derived element and the sub-element with the value - in the Operation field.
Exemple de refus du sous-classeur implicite Demo 0 1 2 Cet exemple particulier est illustré sur les figures 126 et 127, la figure 127 montrant la valeur - du champ Operation. Example of refusal of the implicit subfolder Demo 0 1 2 This particular example is illustrated in Figures 126 and 127, Figure 127 showing the value - of the Operation field.
L'Utilisateur exprime ainsi son désintérêt à l'auteur original pour cet élément. En outre, lorsque l'élément original est réellement supprimé, ce lien n'aura plus d'utilité et pourra donc être également supprimé. The User thus expresses his disinterest in the original author for this element. In addition, when the original element is actually deleted, this link will no longer be useful and can therefore also be deleted.
On notera ici que la gestion des classeurs et des éléments qu'ils contiennent peut se faire avantageusement selon une interface utilisateur telle qu'illustrée sur la figure 127a. Cette interface utilisateur comprend à gauche deux fenêtres ou cadres superposés Cadre1 et Cadre2, le cadre supérieur Cadre affichant une structure arborescente (par exemple du type It will be noted here that the management of the workbooks and the elements they contain can advantageously be done according to a user interface as illustrated in FIG. 127a. This user interface includes on the left two frames or frames superimposed Frame1 and Cadre2, the upper frame Frame displaying a tree structure (for example of the type
<Desc/Clms Page number 124><Desc / Clms Page number 124>
Explorateur Windows - marque déposée de Microsoft Corp. ) du classeur de l'utilisateur, tandis que le cadre inférieur Cadre2 contient, avec le même type de représentation, le classeur d'un tiers en train d'être consulté à distance par ce même utilisateur. On peut ainsi facilement naviguer d'un Contenant à l'autre, les Contenus du cadre actif étant affichés dans un cadre plus grand Cadre3 prévu dans la partie droite de l'écran. Ces contenus (pages) sont affichés avec le style imposé par le cadre couramment choisi. Des onglets permettent également de naviguer dans la structure. Windows Explorer - trademark of Microsoft Corp. ) of the user's workbook, while the lower frame Cadre2 contains, with the same type of representation, the workbook of a third party being viewed remotely by the same user. It is thus easy to navigate from one Container to another, the contents of the active frame being displayed in a larger frame Cadre3 provided in the right part of the screen. These contents (pages) are displayed with the style imposed by the currently selected frame. Tabs are also used to navigate the structure.
Cette interface permet notamment : - d'importer à partir du classeur tiers, par la technique du glisser-déposer du cadre Cadre2 vers le cadre Cadre 1, tout ou partie des Contenants (inclus les Contenus associés) ou des contenus individuels, sachant que l'importation d'un ou de plusieurs Contenants peut impliquer une procédure d'acceptation sélective, de façon collective ou individuelle, des Contenus associés ; - de proposer au tiers, toujours par la technique du glisser-déposer, mais cette fois-ci de Cadrel vers Cadre2, tout ou partie de son propre classeur, pour mettre en #uvre la fonction décrite plus haut de suggestion manuelle ou Référencement ; - pour ce qui concerne le cadre d'affichage Cadre3, une série de boutons et/ou d'onglets est avantageusement prévue pour faire défiler les pages, changer de calque, etc.. This interface allows: - to import from the third workbook, by the drag-and-drop technique from the Cadre2 frame to the Frame 1 frame, all or some of the Containers (including Associated Contents) or individual contents, knowing that the import of one or more Containers may involve a procedure of selective acceptance, collectively or individually, of the Associated Contents; - to propose to the third, always by the technique of drag and drop, but this time from Cadrel to Cadre2, all or part of his own workbook, to implement the function described above of manual suggestion or Referencing; - As regards the Cadre3 display frame, a series of buttons and / or tabs is advantageously provided for scrolling pages, changing layers, etc. ..
Enfin on notera ici que les opérations d'acceptations/refus de suggestions peuvent s'effectuer dans des boîtes de dialogue spécifiques, soit lorsque l'utilisateur accède à un classeur contenant des éléments nouvellement suggérés depuis sa dernière connexion, soit lorsque l'utilisateur accède au Contenants destinés à accueillir les éléments suggérés. Finally, it should be noted here that the accept / reject suggestions operations can be carried out in specific dialog boxes, either when the user accesses a workbook containing newly suggested items since his last connection, or when the user accesses Containers intended to accommodate the suggested elements.
Par ailleurs, ces aspects de l'invention permettent : - à des fournisseurs d'informations, tels que des magazines grand public par exemple, de créer et mettre àjour leurs informations directement sur l'Internet, Moreover, these aspects of the invention allow: to information providers, such as consumer magazines for example, to create and update their information directly on the Internet,
<Desc/Clms Page number 125><Desc / Clms Page number 125>
- aux fournisseurs d'information de fidéliser l'internaute en jouant sur sa fibre de collectionneur ; l'internaute peut en effet constituer des collections d'information dans un classeur personnel en ligne, - aux fournisseurs de produits, d'offrir des éléments de contenu décrivant leurs produits (biens ou services) : en quelques clics de souris, ils les référencent dans les magazines en ligne, communiquent ainsi leurs nouveautés et promotions et en récoltent des transactions commerciales, - aux magazines de se transformer en mini-annuaires (comme les portails ou annuaires connus aujourd'hui sur l'Internet) et de percevoir une commission sur les visites et ventes engendrées, - enfin, aux internautes de consulter les magazines et les offres de produits : ils peuvent glisser dans leur classeur personnel des éléments de contenu qu'ils retrouvent à chaque connexion, ces éléments de contenu étant mis à jour et complétés ; le fait de glisser une information dans le classeur personnel représente implicitement une " déclaration d'intérêt qui leur permet de se faire suggérer automatiquement des informations apparentées. - information providers to retain the user by playing on its fiber collector; the user can indeed build collections of information in a personal online binder, - to the product suppliers, to offer elements of content describing their products (goods or services): in a few mouse clicks, they reference them in ezines, communicate their novelties and promotions and collect commercial transactions, - magazines to turn into mini-directories (such as portals or directories known today on the Internet) and collect a commission on visits and sales generated, - finally, users to consult magazines and product offers: they can drag into their personal workbook content elements that they find at each connection, these content elements being updated and completed ; dragging information into the personal workbook is implicitly a "declaration of interest" that allows them to automatically be prompted for related information.
Ainsi un nouveau magazine en ligne rejoignant un système existant pourra exploiter le trafic qui y est déjà présent. Thus a new online magazine joining an existing system will be able to exploit the traffic that is already there.
Section 2 - Auto-épuration du Système On va maintenant décrire en détail une fonction de la présente invention permettant de prendre en compte la qualité des suggestions pour aboutir, par une notion de degré de confiance , à limiter les effets de suggestions indésirables. Cette section est à rapprocher de la section Coefficients de Probabilité d'Acceptation du chapitre II. Section 2 - Self-purification of the System We will now describe in detail a function of the present invention to take into account the quality of the suggestions to achieve, by a notion of degree of confidence, to limit the effects of undesirable suggestions. This section is to be compared with the Probability of Acceptance Coefficients section in Chapter II.
Introduction Le système met en oeuvre un double principe d'épuration. Introduction The system implements a double purification principle.
<Desc/Clms Page number 126> <Desc / Clms Page number 126>
Premièrement, comme mentionné à propos de la suggestion manuelle dans la section 1 de ce même chapitre, la diffusion des informations entre Utilisateurs peut s'effectuer par Référencement d'un Profil d'un Utilisateur donné dans les Profils (Classeurs ou Pages) d'autres Utilisateurs dont il espère capter l'audience (notamment pour qu'à partir de Profils Non Confidentiels d'autres utilisateurs, le public puisse trouver les informations propres audit Utilisateur donné). Le système permet ceci de manière décentralisée. Le Référencement est une suggestion et peut donc être filtré par le destinataire, qui joue ainsi le rôle d'épurateur. Ainsi, ceux qui fournissent des informations de mauvaise qualité perdent leur crédibilité, et ont tendance à ne plus faire l'objet de dérivations vers d'autres utilisateurs. Leur audience baisse donc. First, as mentioned with the manual suggestion in section 1 of this same chapter, the dissemination of information between Users can be done by Referencing a Profile of a given User in the Profiles (Binder or Pages) of other Users it hopes to capture the audience (including that from other users' Non-Confidential Profiles, the public can find the information specific to the given User). The system allows this in a decentralized way. SEO is a suggestion and can be filtered by the recipient, who plays the role of purifier. Thus, those who provide poor quality information lose their credibility, and tend to no longer be shunted to other users. Their audience is falling.
Deuxièmement, le maintien du crédit qu'accorde chaque Utilisateur peut-être assisté par le système de manière automatique. Par apprentissage automatique et transparent, basé sur l'expérience, le système construit et maintient une notation de contribution révélatrice d'un "degré de confiance" que peut accorder un Utilisateur aux informations fournies par un autre Utilisateur. Secondly, the maintenance of the credit granted by each User can be automatically assisted by the system. By automatic and transparent learning, based on experience, the system builds and maintains a contribution notation indicative of a "degree of confidence" that a User may grant to information provided by another User.
Ce degré de confiance peut être déterminé de manière indirecte en suivant une "chaîne" d'Utilisateurs dans laquelle chaque Utilisateur a pu déterminer le degré de confiance pour le suivant (c'est à dire par transitivité). This degree of confidence can be determined indirectly by following a "chain" of Users in which each User has been able to determine the degree of trust for the next (ie by transitivity).
Le degré de confiance ainsi obtenu permet de filtrer automatiquement les suggestions de contenu ayant une forte probabilité de ne pas être pertinentes. The degree of confidence thus obtained makes it possible to automatically filter the content suggestions that have a high probability of being irrelevant.
Il est important de noter ici que l'identité (ou plutôt le pseudonyme) de l'Utilisateur qui est à l'origine de la suggestion est connu du système mais pas des autres Utilisateurs. It is important to note here that the identity (or rather the pseudonym) of the User who is at the origin of the suggestion is known to the system but not to the other Users.
<Desc/Clms Page number 127> <Desc / Clms Page number 127>
Détails duprocédé d'auto-épuration Pour chaque type d'action (accepter, refuser, déplacer, etc. ), on prévoit selon ce perfectionnement de l'invention le recours à une notation de contribution, c'est-à-dire à un système d'attribution de points positifs ou négatifs, sur la base du fait que l'Utilisateur B qui reçoit des points positifs par l'Utilisateur A augmente d'autant la confiance que lui accorde ce dernier. De même, il diminue sa confiance quand il reçoit des points négatifs. Details of the self-purification procedure For each type of action (accept, refuse, move, etc.), according to this improvement of the invention, the use of a contribution notation, that is to say a system of awarding positive or negative points, on the basis that the user B who receives positive points by the user A increases all the confidence that the latter grants him. Likewise, he diminishes his confidence when he receives negative points.
L'Utilisateur A peut ainsi automatiquement filtrer (dans ses requêtes) les suggestions faites par des Utilisateurs dont le degré de confiance est inférieur à un certain seuil. User A can thus automatically filter (in his requests) the suggestions made by Users whose degree of confidence is below a certain threshold.
L'intérêt de cette fonction réside surtout dans le fait que l'évaluation (ou notation) se fait dans le cadre l'utilisation courante de l'outil, de manière transparente. The interest of this function resides mainly in the fact that the evaluation (or notation) is done within the framework the current use of the tool, in a transparent way.
Par exemple, suite à une requête, un Utilisateur A reçoit un Contenu suggéré par un Utilisateur C qu'il n'a pas encore eu l'occasion d'évaluer. Dans le cas où l'Utilisateur C a un degré de confiance négatif chez l'Utilisateur B, et que ce dernier a un degré de confiance positif chez l'Utilisateur A, alors, par transitivité, l'Utilisateur C obtient des points négatifs chez l'Utilisateur A. Ce dernier peut alors automatiquement filtrer les Contenus suggérés par C. For example, following a request, a User A receives Content suggested by a User C that he has not yet had the opportunity to evaluate. In the case where User C has a negative degree of confidence in User B, and User B has a positive degree of confidence in User A, then, by transitivity, User C obtains negative points from User A. The latter can then automatically filter the Content suggested by C.
En effet, l'Utilisateur A a confiance dans les suggestions faites par l'utilisateur B. Donc si l'Utilisateur B estime que les suggestions de l'Utilisateur C ne correspondent pas à ses attentes, alors l'Utilisateur A peut être confiant qu'il aurait la même opinion négative. Indeed, User A has confidence in the suggestions made by User B. So if User B believes that User C's suggestions do not match his expectations, then User A may be confident that he would have the same negative opinion.
Concrètement, cette approche peut s'appuyer sur une structure de données incluant une représentation d'un graphe de transitivité entre les différents Utilisateurs (tout en conservant leur anonymat les uns par rapport aux autres). Concretely, this approach can be based on a data structure including a representation of a graph of transitivity between the different Users (while maintaining their anonymity with respect to each other).
Avantageusement, cette approche peut s'accompagner de coefficients de pondération en fonction de la longueur de la chaîne de transitivité pour une évaluation donnée, ainsi que d'autres critères et seuils divers. Advantageously, this approach may be accompanied by weighting coefficients as a function of the length of the transitivity chain for a given evaluation, as well as other criteria and various thresholds.
<Desc/Clms Page number 128><Desc / Clms Page number 128>
Par exemple, pour que l'Utilisateur A puisse se fier au jugement de l'Utilisateur B au sujet de l'Utilisateur C, le degré de confiance qu'accorde l'Utilisateur A à l'Utilisateur B doit être supérieur à un certain seuil depuis un certain temps (critère de stabilité). For example, for User A to be able to rely on User B's judgment regarding User C, the degree of trust that User A has in User B must be above a certain threshold for some time (stability criterion).
Ainsi le système construit automatiquement ce qu'on peut qualifier de réseau de confiance , auto-alimenté et auto-régulé, qui permet d'épurer sélectivement les suggestions inadéquates. Thus, the system automatically builds what can be described as a trusted network, self-powered and self-regulated, which allows to purify selectively inadequate suggestions.
On notera ici qu'il subsiste toutefois un risque : ainsi un Utilisateur malveillant peut s'inscrire dans le système fréquemment, avec des pseudonymes chaque fois différents, dans le but de suggérer des Contenus de mauvaise qualité. It should be noted here that there is still a risk: a malicious user can register in the system frequently, with pseudonyms each time different, in order to suggest poor quality content.
Cet Utilisateur malveillant n'étant évalué par personne au début, ses suggestions ne pourront être filtrés pendant un certain temps. This malicious user is not evaluated by anyone at the beginning, his suggestions can not be filtered for a while.
Pour supprimer ce risque, on pourra filtrer les Utilisateurs récents dont le volume d'éléments suggérés n'a pas atteint un certain seuil, que l'on appelle seuil de contribution . Ce filtrage pourra aussi servir à inciter les Utilisateurs à contribuer suffisamment pour que les Contenus qu'ils suggèrent ne soient pas filtrés. Ceci incite à faire vivre le système. Le volume de contribution de chacun pourra être déterminé selon une méthode qui permette d'éviter les contributions reproduites artificiellement pour atteindre le seuil de contribution. To eliminate this risk, recent users whose suggested volume of items has not reached a certain threshold, called the contribution threshold, can be filtered out. This filtering can also be used to encourage users to contribute enough so that the content they suggest is not filtered. This encourages the system to live. The contribution volume of each can be determined using a method that avoids artificially propagated contributions to reach the contribution threshold.
Alternativement, le fait de s'inscrire dans le système d'échange par suggestions peut être payant, ou nominatif via un tiers de confiance qui découragerait de suggérer des Contenus sous des pseudonymes différents. Alternatively, subscribing to the Suggestion Exchange System may be paid for, or nominative via a trusted third party that would discourage the suggestion of Content under different aliases.
Section 3 - Techniques de suggestions automatiques Introduction Les Profils, tels que décrits dans la section 1, caractérisent les Utilisateurs et peuvent ainsi être exploités en tant que profils d'intérêts (ou de goûts) que l'on confronte les uns aux autres pour en extraire des informations pertinentes et les suggérer automatiquement aux Utilisateurs. Section 3 - Automatic Suggestion Techniques Introduction Profiles, as described in Section 1, characterize Users and can thus be used as profiles of interests (or tastes) that are confronted with each other to extract relevant information and automatically suggest it to Users.
<Desc/Clms Page number 129> <Desc / Clms Page number 129>
La confrontation d'un profil aux autres peut se faire individuellement (par exemple par les techniques connues de Filtrage collaboratif , de Recommandation sur la base de Contenus ), ou sur l'ensemble synthétisé des autres profils de manière compacte (par exemple par les techniques de Réseaux Bayesiens, etc.). The confrontation of a profile with the others can be done individually (for example by the known techniques of Collaborative filtering, of Recommendation on the basis of Contents), or on the synthesized whole of the other profiles in a compact way (for example by the techniques Bayesian Networks, etc.).
Un apport important de cet aspect de l'invention est de tirer parti de l'ordre des Contenus dans les Profils pour améliorer les suggestions. Si l'on se place au Niveau 4 de la section 1 du présent chapitre, l'utilisateur peut ordonner les Contenus (qui sont affichés dans un certain ordre dans les pages), et les pages entre elles (l'ordre des pages est affiché sous la forme d'un classeur), en fonction de différents critères d'ordre choisis par lui-même (par exemple, critère de préférence globale, critère temporel, critère économique, critère esthétique, etc. ) ou une conjonction ordonnée de tels critères. An important contribution of this aspect of the invention is to take advantage of the order of the Contents in the Profiles to improve the suggestions. If you go to Level 4 of Section 1 of this chapter, the user can order the Contents (which are displayed in a certain order in the pages), and the pages between them (the order of the pages is displayed in the form of a workbook), according to different order criteria chosen by itself (for example, global preference criterion, temporal criterion, economic criterion, aesthetic criterion, etc.) or an ordered conjunction of such criteria .
Dans la mesure où ces critères sont partagés avec d'autres Utilisateurs, le système en déduit des profils ordonnés, améliore ainsi la pertinence des éléments recommandés, insère les éléments recommandés à leur bonne position, et peut même ordonner automatiquement des informations posées en vrac en se basant sur l'ordre adopté par les profils proches. Ces procédés sont décrits dans la section suivante. Since these criteria are shared with other users, the system derives ordered profiles, improves the relevance of the recommended elements, inserts the recommended elements in their correct position, and can even automatically order information asked in bulk. based on the order adopted by the close profiles. These methods are described in the following section.
Détails des techniques de Suggestion Automatique a. Détection de profils voisins Les Contenus sont composés d'éléments (par exemple au format XML) qui ont des attributs et des éléments imbriqués. Afin de détecter, entre deux profils donnés, les Contenus qui peuvent être considérés comme pratiquement identiques , ils peuvent être analysés selon des règles qui se déclenchent à partir d'un mécanisme de reconnaissance de motifs ( pattern matching ). Details of Automatic Suggestion Techniques a. Detecting Neighboring Profiles Content is composed of elements (for example in XML format) that have attributes and nested elements. In order to detect, between two given profiles, the Contents that can be considered as virtually identical, they can be analyzed according to rules that are triggered from a pattern matching mechanism.
Un Contenant peut ainsi donner des poids différents aux attributs des éléments de ses Contenus. Un Contenu sera alors considéré comme pratiquement identique à un autre si A Container can thus give different weight to the attributes of the elements of its Contents. One Content will then be considered virtually identical to another if
<Desc/Clms Page number 130><Desc / Clms Page number 130>
un ensemble d'attributs suffisamment représentatif (la représentativité sera calculée en fonction de leurs poids respectifs) ont les mêmes valeurs. a sufficiently representative set of attributes (the representativity will be calculated according to their respective weights) have the same values.
Ainsi, il n'est pas nécessaire que deux Utilisateurs aient dans leurs profils des Contenus exactement les mêmes pour qu'ils soient jugés proches. Thus, it is not necessary for two Users to have exactly the same content in their profiles so that they are considered to be close.
La proximité entre deux profils Px et Py - ordonnés selon un critère donné - est mesuré en évaluant la quantité de calques que les Utilisateurs A et B ont en commun, avec une pondération par la position de ces calques dans les profils des Utilisateurs A et B respectivement, comme illustré sur la figure 128. The proximity between two profiles Px and Py - ordered according to a given criterion - is measured by evaluating the amount of layers that Users A and B have in common, with a weighting by the position of these layers in the profiles of Users A and B respectively, as shown in Figure 128.
Pratiquement la mesure de proximité va se faire Contenu par Contenu tant que le poids marginal reste supérieur à un certain seuil. Ainsi il suffira comparer un nombre fixé d'éléments dans l'ordre correspondant au critère donné. Virtually the proximity measure will be Content by Content as long as the marginal weight remains above a certain threshold. Thus it will suffice to compare a fixed number of elements in the order corresponding to the given criterion.
L'Utilisateur peut aussi s'appuyer sur un certain nombre d'autres indicateurs tels que par exemple : - le pourcentage d'informations en commun, comme illustré sur la figure 129 ; - le nombre de fois qu'un même Contenu est suggéré (à partir de Profils différents). b. Insertion des Contenus suggérés qui sont acceptés Lorsqu'un Utilisateur accepte une suggestion de Contenu de la part du système de Recommandation Collaborative, le Contenu est classé au bon endroit selon chaque critère de la configuration du classeur. The user can also rely on a number of other indicators such as for example: the percentage of information in common, as illustrated in Figure 129; - the number of times the same Content is suggested (from different Profiles). b. Inserting suggested Content that is accepted When a User accepts a Content suggestion from the Collaborative Recommendation system, the Content is ranked in the correct place according to each criterion of the workbook configuration.
On va considérer, en référence à la figure 130, l'exemple suivant : supposons que pour un Contenant donné, des Utilisateurs ul et u36 ont en correspondance respectivement les pages ( xSheet ) xsA et xsB, dont les Contenus sont ordonnés chacun selon deux critères #1 et #2. We will consider, with reference to FIG. 130, the following example: let us suppose that for a given Container, Users ul and u36 respectively have the pages (xSheet) xsA and xsB, whose Contents are each ordered according to two criteria #1 and 2.
Pour cette catégorie, ul et u36 sont proches au sens où ils possèdent tous les deux les Contenus c4 et c12. Le système de Recommandation Collaborative fait donc les propositions For this category, ul and u36 are close in the sense that they both have the contents c4 and c12. The Collaborative Recommendation System therefore makes the proposals
<Desc/Clms Page number 131><Desc / Clms Page number 131>
telles qu illustrées sur la ligure 1 -il, c8 etant suggere ae u36 a uiet ciétant suggere ae ul à u36. as illustrated in Figure 1-il, c8 being suggested and suggested to be ue at u36.
Si ces suggestions sont acceptés par chaque Utilisateurs, les Contenus sont alors insérés en accord avec les positions qu'ils occupent dans leur page d'origine. If these suggestions are accepted by each User, then the Content is inserted according to the positions they occupy in their original page.
Pour le critère #1 de ul, c8 est classé par rapport aux Contenus communs à ul et u36, il est donc placé avant c4 et cl2. Bien sûr, ul est libre de replacer c8 s'il le juge mal classé en regard du critère utilisé. Un raisonnement symétrique est appliqué pour u36. For the criterion # 1 of ul, c8 is ranked with respect to the contents common to ul and u36, so it is placed before c4 and cl2. Of course, ul is free to relocate c8 if he deems it misclassified against the criterion used. Symmetrical reasoning is applied for u36.
Pour le critère #2, les éléments communs à xsA et xsB ne sont pas classés dans le même ordre. Plusieurs conventions sont alors possibles : celle qui semble la plus appropriée est de ne violer aucune relation établie dans le profil de départ. Ainsi, c8 doit être inséré après c12 et c4 dans xsA, et cl doit être inséré après cl2 dans xsB (bien qu'il soit avant c4 dans le profil de départ). Le résultat est illustré sur la figure 132. For criterion # 2, the elements common to xsA and xsB are not classified in the same order. Several conventions are then possible: the one that seems the most appropriate is not to violate any relationship established in the initial profile. Thus, c8 must be inserted after c12 and c4 in xsA, and cl must be inserted after cl2 into xsB (although it is before c4 in the starting profile). The result is shown in Figure 132.
Une autre convention pourrait par exemple être d'insérer cl dans xsA et c8 dans xsB relativement à l'élément commun le plus proche, comme illustré sur la figure 133. Another convention could for example be to insert cl into xsA and c8 into xsB relative to the nearest common element, as shown in Fig. 133.
L'insertion d'un Contenu, telle qu'on l'a décrite ci-dessus avec cl et c8, provoque la mise à jour des profils de ul et u36 pour les n#uds supérieurs de la taxonomie (profils agrégés). La place où le nouveau Contenu est inséré dans les profils agrégés est fonction de l'endroit où il a été classé lors de son insertion, et du critère utilisé. The insertion of a Content, as described above with cl and c8, causes the update of the profiles of ul and u36 for the higher nodes of the taxonomy (aggregated profiles). The place where the new Content is inserted in the aggregated profiles depends on where it was ranked when it was inserted, and the criterion used.
Ordonner les Profils automatiquement (Tri de profil par recommandation collaborative) Comme mentionné précédemment, dans un profil certains des Contenus n'ont pas été explicitement ordonnés. Dans les feuilles, à ceux-ci correspondent des onglets grisés. Ordering Profiles Automatically (Profile Sorting by Collaborative Recommendation) As mentioned earlier, in a profile some of the Contents have not been explicitly ordered. In the leaves, these correspond to gray tabs.
Pour chaque profil, les Contenus grisés qui font partie des Contenus en commun avec un profil voisin, mais dans la partition non grisée chez le voisin, sont ordonnés selon l'ordre suggéré par ce voisin. For each profile, the gray contents that are part of the contents in common with a neighboring profile, but in the unmerged partition at the neighbor's, are ordered according to the order suggested by this neighbor.
<Desc/Clms Page number 132> <Desc / Clms Page number 132>
Section 4 - Graphes de dérivation Introduction Rappelons ici que le système décrit dans la section 1 du présent chapitre offre à l'Utilisateur la possibilité de (et une stimulation pour) dériver et réorganiser (ajouter, retirer, modifier, réordonner, déplacer d'un Contenant à un autre, etc. ) des éléments d'information non déclarés comme confidentiels. La stimulation vient du fait que l'Utilisateur profite ainsi de l'expertise de toute la chaîne d'Utilisateurs à l'amont c'est-à-dire à l'origine de chaque information. Section 4 - Bypass Charts Introduction It should be recalled here that the system described in section 1 of this chapter offers the user the possibility of (and stimulation for) deriving and rearranging (adding, removing, modifying, reordering, moving a Containing to another, etc.) items of information not declared as confidential. The stimulation comes from the fact that the user thus benefits from the expertise of the entire chain of users upstream that is to say the origin of each information.
Le système incite donc ses Utilisateurs à l'étendre (à le faire grossir ) par dérivation, et les Utilisateurs en viennent à partager les mêmes Contenants et Contenus. Le grand avantage offert est ainsi le fait de parler le même langage , tant pour les informations elles-mêmes (Contenus) que pour leurs catégories respectives (Contenants). Or, parler un langage commun (celui-ci étant constitué par l'ensemble des Contenants et Contenus qui se trouvent dans la partie commune du système) facilite grandement la comparaison de Profils. En effet : - à partir des Contenus, on peut retrouver directement (en accès direct) les Références sur ceux-ci et les Profils qui les contiennent ; - à partir d'un Contenant associé à un Profil donné, on peut retrouver directement tous les Contenus auxquels ont accédé les Utilisateurs (et par là on peut ainsi retrouver directement les Profils qui les contiennent). The system therefore encourages its Users to extend it (to make it grow) by derivation, and the Users come to share the same Containers and Contents. The great advantage offered is thus the fact of speaking the same language, both for the information itself (Content) and for their respective categories (Containers). However, to speak a common language (this one consisting of all the Containers and Contents that are in the common part of the system) greatly facilitates the comparison of Profiles. Indeed: - from the Contents, one can find directly (in direct access) the References on these and the Profiles which contain them; - from a Container associated with a given Profile, we can directly find all the Contents accessed by the Users (and thus we can directly find the Profiles that contain them).
De l'utilisation du système résulte donc un graphe de dérivation dynamique, dont le n#uds sont les Profils et les arcs (orientés) sont les dérivations entre Profils effectuées par les Utilisateurs. Il peut s'agir de dérivations de Profils (dérivation d'un Classeur ou d'une Page, si l'on se place au Niveau 4) ou dérivation de Contenus. The use of the system therefore results in a dynamic derivation graph, whose nodes are the Profiles and arcs (oriented) are the derivations between Profiles made by the Users. These can be derivations of Profiles (derivation of a Workbook or Page, if one is at Level 4) or derivation of Contents.
L'idée essentielle de cet aspect de la présente invention est de se servir du graphe de dérivation entre Profils pour bénéficier de la localité des comparaisons à effectuer entre Profils. The essential idea of this aspect of the present invention is to use the derivation graph between Profiles to benefit from the locality of the comparisons to be made between Profiles.
A ce sujet, l'interface utilisateur du système comprend avantageusement un moyen (bouton, etc. ) permettant à un utilisateur consultant un Contenant donné d'un Classeur tiers de consulter directement les contenus désignés dans l'ensemble du contenant de la partie In this respect, the user interface of the system advantageously comprises a means (button, etc.) enabling a user consulting a given Container of a third-party binder to directly consult the designated contents in the whole container of the part.
<Desc/Clms Page number 133><Desc / Clms Page number 133>
commune qui définit cette catégorie, sans avoir ni à naviguer dans l'arborescence, ni à passer vers un portail Internet ou analogue. common that defines this category, without having to navigate in the tree, or to move to an Internet portal or the like.
Comment tirerparti du graphe de dérivation entre Profils En s'appuyant sur le graphe de dérivation (qui évolue dynamiquement en cours d'exécution), chaque Profil (c'est-à-dire chaque n#ud du graphe de dérivation) maintient en mémoire une liste des voisins se trouvant dans un certain périmètre (à une distance inférieure à un seuil donné, distance mesurée en nombre d'arcs de dérivation), avec pour chaque voisin, un ensemble d'indicateurs de proximité. How to derive from the derivation graph between Profiles By relying on the derivation graph (which dynamically evolves during execution), each Profile (ie each n # ud of the derivation graph) keeps it in memory a list of neighbors within a certain perimeter (at a distance less than a given threshold, distance measured in number of bypass arcs), with for each neighbor, a set of proximity indicators.
Les indicateurs peuvent être par exemple ceux mentionnés dans la section précédente ou tout simplement des compteurs de Contenus en commun. Indicators can be for example those mentioned in the previous section or simply Counters of Contents in common.
On peut en outre réaliser un maintien incrémental des indicateurs de proximité entre Profils : à chaque ajout et retrait de Contenu dans chaque Profil, ces indicateurs sont mis à jour chez tous les voisins dans le graphe. Par exemple, à chaque ajout de Contenu, pour chaque Profil voisin qui le posséderait aussi, le système incrémente l'indicateur compteur de Contenus en commun dans les deux Profils en question. A chaque retrait de Contenu, le système décrémente ce même compteur. In addition, it is possible to incrementally maintain the Proximity Indicators between Profiles: for each addition and removal of Content in each Profile, these indicators are updated for all the neighbors in the graph. For example, with each addition of Content, for each Neighbor Profile that would also have it, the system increments the Counts counter metric in both Profiles in question. With each withdrawal of Content, the system decrements the same counter.
Chaque Profil maintient ainsi de façon incrémentale les connaissances qu'il a de la proximité de ses voisins (anonymes bien entendu) et le système peut ainsi effectuer des suggestions automatiquement par Filtrage Collaboratif. Each Profile incrementally maintains the knowledge it has of the proximity of its neighbors (anonymous of course) and the system can make suggestions automatically by Collaborative Filtering.
Le seuil de distance peut par ailleurs être ajusté en cours d'exécution par une technique d'apprentissage basée sur un critère de rendement (évaluation des succès des suggestions à différentes distances). The distance threshold can also be adjusted during execution by a learning technique based on a performance criterion (evaluation of the success of the suggestions at different distances).
On observera ici que la présente invention permet d'éviter de recourir à des calculs extrêmement lourds de comparaison de profils par leurs contenus eux-mêmes, qui typiquement nécessitent, lorsque le nombre d'utilisateurs est important, des traitements batch de durées considérables. It will be observed here that the present invention makes it possible to avoid resorting to extremely heavy calculations of comparison of profiles by their contents themselves, which typically require, when the number of users is large, batch processes of considerable duration.
<Desc/Clms Page number 134> <Desc / Clms Page number 134>
Section 5 - Anonymat et commerce électronique Architecture On considère ici une architecture composée de 4 classes d'ordinateurs connectés sur un réseau - au moins un poste-client (par exemple de type ordinateur personnel ou terminal de réseau),manipulé par un Utilisateur ; - au moins un serveur tiers (ST), à savoir serveur de transfert de données (ou dispositif équivalent) ou serveur de confiance ; - au moins un Serveur de Stockage (SdS) ; - éventuellement un ou plusieurs Serveurs de Fournisseurs de Produits (SFP). Section 5 - Anonymity and E-Commerce Architecture Here we consider an architecture composed of 4 classes of computers connected to a network - at least one client station (for example of the personal computer or network terminal type), handled by a User; at least one third-party server (ST), namely a data transfer server (or equivalent device) or a trusted server; - at least one Storage Server (SdS); - optionally one or more Product Provider Servers (SFPs).
Les besoins de base sont les suivants : - Anonymat minimal : l'anonymat des Utilisateurs peut être directement assuré par le ou les SdS qui centralisent les éléments d'information recueillis. The basic needs are as follows: - Minimal anonymity: the anonymity of Users can be directly ensured by the SDS (s) that centralize the information elements collected.
- Anonymat par tiers de confiance : alternativement, l'anonymat peut être réalisé par une architecture incluant un ou plusieurs serveurs supplémentaires qui sont gérés par un ou plusieurs tiers de confiance (ST) et qui sont des "passages obligés" lors des communications en consultation ou ajout d'éléments ; les adresses IP des Utilisateurs, qui consultent les éléments d'informations, sont ainsi cachées. - Anonymity by trusted third party: alternatively, the anonymity can be achieved by an architecture including one or more additional servers that are managed by one or more trusted third parties (ST) and which are "obligatory passages" during communications in consultation or adding elements; the IP addresses of the Users, who consult the information elements, are thus hidden.
L'identité (ou le pseudonyme) de l'Utilisateur qui ajoute un élément d'information est transformée (codée, chiffrée) par le serveur tiers, de manière différente à chaque ajout (en plus du fait que son adresse IP est cachée). The identity (or pseudonym) of the User who adds an item of information is transformed (coded, encrypted) by the third party server, differently for each addition (in addition to the fact that his IP address is hidden).
La correspondance entre différentes transformations d'une même identité est connue par un ou plusieurs des serveurs tiers, ou par un ou plusieurs serveurs tiers indépendants des premiers (ce sont eux qui notamment peuvent dériver les degrés de confiance). The correspondence between different transformations of the same identity is known by one or more of the third-party servers, or by one or more third-party servers independent of the first ones (it is they who in particular can derive the degrees of confidence).
<Desc/Clms Page number 135> <Desc / Clms Page number 135>
Les serveurs tiers peuvent servir à fournir un certificat pour témoigner de la fourniture d'un élément d'information par un serveur. Ceci peut être utilisé dans le cadre de divers modèles économiques, comme on le verra plus loin. Third-party servers can be used to provide a certificate to testify to the provision of an information element by a server. This can be used in a variety of business models, as discussed below.
Les classeurs pourront aussi être stockés sur un serveur de stockage SdS. Dans ce cas, leurs liens sur les Contenus non-confidentiels (qui forment les profils) seront stockés sur le serveur de stockage SdS après chiffrement sur l'ordinateur personnel (ou un serveur de transfert ST). Ces liens ne pourront pas être déchiffrés par le serveur de stockage, mais seulement sur l'ordinateur personnel ou sur le serveur de transfert. Workbooks can also be stored on an SdS storage server. In this case, their links to the non-confidential contents (which form the profiles) will be stored on the SdS storage server after encryption on the personal computer (or an ST transfer server). These links can not be decrypted by the storage server, but only on the personal computer or on the transfer server.
Les besoins supplémentaires impliqués par le procédé de Recommandation Collaborative sont les suivants : - Anonymat minimal : L'anonymat des profils peut être assuré directement par des serveurs de stockage qui jouent aussi le rôle de serveurs de recommandation, c'est à dire qui produisent les profils, les maintiennent et les confrontent. The additional requirements involved in the Collaborative Recommendation process are as follows: - Minimal anonymity: The anonymity of the profiles can be provided directly by storage servers which also act as recommendation servers, that is to say who produce the profiles, maintain them and confront them.
- Anonymat par tiers de confiance : Alternativement, des serveurs de transfert peuvent avoir le rôle de produire et maintenir les profils et ensuite de les communiquer à un serveur de stockage après les avoir rendus anonymes, c'est à dire, après leur avoir associé une identité transformée (codée, chiffrée). - Anonymity by trusted third party: Alternatively, transfer servers can have the role of producing and maintaining the profiles and then communicating them to a storage server after rendering them anonymous, that is, after associating them with a transformed identity (coded, encrypted).
Les serveurs de recommandation ne manipulent alors que des profils anonymes et sont incapables de déceler que deux profils appartiennent à un même Utilisateur. The recommendation servers then only handle anonymous profiles and are unable to detect that two profiles belong to the same User.
Pour éviter d'associer ensemble différents profils d'un Utilisateur, en reconnaissant une même adresse IP lors de leur transmission (par exemple quand manifestement il n'y a qu'un seul Utilisateur en ligne), on préférera utiliser un serveur de transfert différent par profil (autant que possible, c'est à dire dans la mesure où l'on dispose d'un nombre suffisant de serveurs de transfert. To avoid associating different profiles of a user together, by recognizing the same IP address during their transmission (for example when there is obviously only one user online), we prefer to use a different transfer server by profile (as much as possible, ie to the extent that there is a sufficient number of transfer servers.
<Desc/Clms Page number 136> <Desc / Clms Page number 136>
Par ailleurs, l'architecture décrite ci-dessus peut être mise à profit dans le cadre du commerce électronique par Internet, comme on va maintenant le décrire en référence à la figure 134. In addition, the architecture described above can be used in the context of e-commerce over the Internet, as will now be described with reference to FIG. 134.
Ainsi cette figure montre qu'un serveur de stockage SdS contenant des Profils est capable de faire à un poste utilisateur PC des suggestions d'achat auprès du serveur d'un fournisseur SFP, ceci par l'intermédiaire d'un serveur tiers ST permettant d'assurer l'anonymat des utilisateurs au niveau des Profils. L'achat effectif d'un bien ou d'un service par l'Utilisateur auprès du serveur SFP, qui correspond à une acceptation de la suggestion, peut être prouvé par le serveur tiers ST auprès du serveur SFP par l'intermédiaire du serveur de stockage SdS, tandis que le service rendu par le serveur de stockage SdS et par le serveur tiers ST est dûment rémunéré (commission sur vente) par le serveur du fournisseur SFP (la rémunération $ du serveur tiers ST étant constituée par une fraction de la rémunération $$$ du serveur de stockage. Thus, this figure shows that an SdS storage server containing Profiles is able to make purchase suggestions to a PC user station from the server of an SFP provider via a third-party server ST that allows the user ensure anonymity of users at the Profile level. The actual purchase of a good or service by the User from the SFP server, which corresponds to an acceptance of the suggestion, can be proved by the third party server ST to the SFP server via the server of storage SdS, while the service rendered by the storage server SdS and by the third party server ST is duly remunerated (commission on sale) by the server of the provider SFP (the remuneration $ of the third server ST being constituted by a fraction of the remuneration $$$ of the storage server.
Section 6 - Abonnements et fidélisation Selon cet autre aspect de la présente invention, il est intéressant qu'un serveur (par exemple un magazine électronique) propose de nouveaux contenus, sur une base périodique, par exemple bi-hebdomadaire. A l'issue de cette période, les contenus sont archivés comme décrit plus haut, et ne sont donc plus suggérés. De nouveaux contenus sont alors mis en place. On comprend que ceci incite fondamentalement l'utilisateur ou abonné à visiter le serveur au moins une fois dans la période de validité des contenus ajoutés (en l'espèce deux fois par semaine), ceci de façon à bénéficier de toutes les suggestions d'ajouts. Section 6 - Subscriptions and Retention According to this other aspect of the present invention, it is interesting that a server (for example an electronic magazine) proposes new content, on a periodic basis, for example bi-weekly. At the end of this period, the contents are archived as described above, and are therefore no longer suggested. New content is then put in place. It is understood that this basically encourages the user or subscriber to visit the server at least once in the period of validity of the added content (in this case twice a week), so as to benefit from all suggestions for additions .
Ainsi, les mécanismes de dérivation/suggestion/acceptation présentés dans ce chapitre et dans le chapitres précédents (voir le mode gelé dans le chapitre précédent) permettent d'exploiter la fibre de collectionneur de l'utilisateur. En effet, l'utilisateur qui collectionne des contenus dans un contenant est fortement incité à ne pas manquer une opportunité d'enrichir sa collection pendant qu'un contenu est encore disponible en ligne. Il veut ainsi retourner visiter le site Internet à la même fréquence que la mise à jour des contenus. L'utilisateur se trouve ainsi fidélisé. Thus, the derivation / suggestion / acceptance mechanisms presented in this chapter and in the previous chapters (see the frozen mode in the previous chapter) make it possible to exploit the collector fiber of the user. Indeed, the user who collects content in a container is strongly urged not to miss an opportunity to enrich his collection while content is still available online. He wants to return to visit the website at the same frequency as updating the content. The user is thus loyal.
<Desc/Clms Page number 137> <Desc / Clms Page number 137>
Chapitre IV - Manipulations (Figures FI à F14) Introduction On va décrire un système permettant de manipuler, notamment de reproduire d'un site à l'autre, des fragment de sources (ou documents) XML représentant par exemple des contenus d'information ou des services, présentés pour affichage à l'écran à travers des feuilles de style, en n'agissant que sur leur présentation d'affichage à l'écran. Chapter IV - Manipulations (Figures FI to F14) Introduction We will describe a system allowing to manipulate, in particular to reproduce from one site to another, fragments of sources (or documents) XML representing for example contents of information or services, presented for display on the screen through style sheets, acting only on their presentation of on-screen display.
Cette approche permet une nouvelle utilisation des contenus des sites sur la Toile. Un fragment de source XML permettant par exemple de présenter l'interface homme-machine d'un service sur la Toile peut être reproduit (ou importé) d'un site à l'autre, par les propriétaires des sites respectifs, et configuré automatiquement en fonction des spécificités du site d'accueil. This approach allows a new use of site content on the Web. An XML source fragment, for example to present the human-machine interface of a service on the Web can be reproduced (or imported) from one site to another, by the owners of the respective sites, and automatically configured in depending on the specificities of the host site.
Pour reproduire un fragment, on utilise des objets graphiques servant de poignée et/ou de cible associés à la présentation des fragments. Une poignée sert à attraper un fragment, pour notamment le glisser-déposer à l'endroit où l'on veut le reproduire, cet endroit étant indiqué graphiquement par une cible. Ces objets graphiques apparaissent sur simple demande de l'utilisateur en cliquant sur un bouton (intitulé click2handle dans la suite de la description) qui est facile à mettre en #uvre. To reproduce a fragment, we use graphic objects used as a handle and / or target associated with the presentation of the fragments. A handle is used to catch a fragment, including drag and drop where you want to reproduce, this place being indicated graphically by a target. These graphic objects appear on simple request of the user by clicking on a button (entitled click2handle in the following description) which is easy to implement.
Au moment du glisser-déposer, le fragment importé peut être adapté automatiquement, voire refusé, pour satisfaire les contraintes ou préférences du récipient cible, et les conditions d'un accord (ou contrat) à conclure le cas échéant entre les propriétaires des sites de part et d'autre du transfert, peuvent être proposées automatiquement d'abord à l'utilisateur qui effectue le glisser-déposer, ensuite et de manière asynchrone (notamment au moyen d'un courrier électronique) à l'autre partie. At the time of drag and drop, the imported fragment can be adapted automatically, or even refused, to meet the constraints or preferences of the target container, and the conditions of an agreement (or contract) to be concluded between the owners of either side of the transfer, can be automatically proposed first to the user who performs the drag and drop, then and asynchronously (including by means of an email) to the other party.
Une caractéristique du système est que les poignées et cibles sont représentés par un même objet graphique, et le fait de permettre d'insérer de nouveaux fragments dans une page, en les lâchant sur des cibles, revient par conséquent à permettre d'attraper les fragments possédant lesdits objets graphiques qui jouent le rôle de cible, pour les emporter ailleurs. Le présent A feature of the system is that the handles and targets are represented by a single graphic object, and allowing to insert new fragments into a page, by releasing them on targets, therefore amounts to allowing to catch fragments possessing said graphic objects that play the role of target, to carry them elsewhere. The present
<Desc/Clms Page number 138><Desc / Clms Page number 138>
système et procédé permettent ainsi avantageusement d'augmenter la visibilité des fragments présentés, en encourageant leur propagation par le fait qu'ils peuvent être très facilement reproduits de proche en proche d'une page à l'autre et d'un site à l'autre sur la Toile. The system and method thus advantageously make it possible to increase the visibility of the fragments presented, by encouraging their propagation by the fact that they can be very easily reproduced step by step from one page to another and from one site to another. other on the Web.
Une application typique de ce procédé est la publication sur l'Internet, ou dans un intranet, d'un appel d'offres nécessitant plusieurs contributions, ces dernières devant être combinées et adaptées les unes aux autres pour répondre aux exigences requises. Avantageusement, le système permet à un premier contributeur d'importer l'appel d'offres sur son site et de le republier automatiquement à destination de deuxièmes contributeurs potentiels après lui avoir soustrait la contribution qu'il propose d'offrir lui-même. Un second contributeur peut alors importer la nouvelle version de l'appel d'offre, compléter la première offre avec sa propre proposition de contribution et automatiquement republier une troisième version de l'appel d'offres, et ainsi de suite. L'appel d'offres se répand et se complète ainsi progressivement, tout en se spécialisant de plus en plus, jusqu'à que la réponse comprenne la totalité des composants nécessaires. Chaque proposition de contribution s'insère dans une chaîne de contributions et l'ensemble des chaînes ainsi formée constitue une structure arborescente (ou chaîne pyramidale) de maillons qui peut être gérée par chaque contributeur à partir du maillon qu'il a créé. A typical application of this method is the publication on the Internet, or on an intranet, of a multi-contribution call for tenders, the latter to be combined and adapted to each other to meet the required requirements. Advantageously, the system allows a first contributor to import the call for tenders on his site and republish automatically to potential second contributors after having subtracted the contribution he proposes to offer himself. A second contributor can then import the new version of the tender, complete the first offer with its own contribution proposal and automatically republish a third version of the call for tenders, and so on. The call for tenders spreads and is thus completed progressively, while specializing more and more, until the answer includes all the necessary components. Each contribution proposal is inserted in a chain of contributions and the set of chains thus formed constitutes a tree structure (or pyramid chain) of links that can be managed by each contributor from the link he has created.
Une autre application, qui est la symmétrique de celle mentionnée ci-dessus, est la publication sur l'Internet d'un lot (par exemple de marchandises) que l'on met en vente, les constituants dudit lot pouvant être vendus ensemble (à un seul acheteur) ou séparément (à des acheteurs différents), et la vente n'étant conclue que si en fin de chaîne tout le lot est acheté. En utilisant le système, la proposition de vente peut être republiée d'acheteur en acheteur, chacun ôtant la partie qu'il propose d'acheter, jusqu'à que le lot soit vendu entièrement. Another application, which is symmetrical to that mentioned above, is the publication on the Internet of a lot (for example of goods) that is put on sale, the constituents of said lot being sold together (to a single buyer) or separately (to different buyers), and the sale is only concluded if at the end of the chain the whole lot is bought. By using the system, the sale proposal can be republished from buyer to buyer, each removing the part he proposes to buy, until the lot is sold entirely.
Les sources XML des pages Web sont décomposées automatiquement # en unités atomiques (indivisibles), appelées microstructures (qui correspondent aux contenus dees chapitres précédents), # et en une structure d'assemblage appelée macrostructure. The XML sources of Web pages are automatically decomposed # into atomic units (indivisible), called microstructures (which correspond to the contents of previous chapters), # and into an assembly structure called macrostructure.
<Desc/Clms Page number 139><Desc / Clms Page number 139>
Les microstructures représentent la granularité la plus fine possible pour les manipulations. En effet : # Les objets graphiques poignées et cibles permettant de glisser-déposer des fragments ne peuvent être affichées à une granularité plus fine que celle des microstructures. The microstructures represent the finest granularity possible for manipulations. Indeed: # The graphic objects handles and targets for drag and drop fragments can not be displayed at a finer granularity than the microstructures.
# Les microstructures sont atomiques : la modification d'une partie d'une microstructure entraîne la création d'une nouvelle version pour la microstructure entière. # The microstructures are atomic: the modification of a part of a microstructure leads to the creation of a new version for the entire microstructure.
L'idée essentielle derrière les microstructures est la mise en facteur des contenus qui sont ré-utilisés dans les fragments. Chaque version d'une microstructure est mémorisée une seule fois (sauf pour des besoins de caching , pour augmenter les performances notamment, dans les cas d'accès entre différents serveurs) bien qu'elle puisse être pointée plusieurs fois par des fragments (d'une même macrostructure ou de macrostructures différentes). Ceci permet de minimiser les redondances lors des reproductions de fragments. Ainsi, non seulement les versions de fragment à mémoriser ont une granularité relativement fine, mais de plus la mise en facteur des microstructures permet d'alléger les fragments. La place mémoire prise par les documents comportant des versions multiples est ainsi minimisée. The essential idea behind the microstructures is the factorization of the contents that are re-used in the fragments. Each version of a microstructure is memorized only once (except for caching purposes, to increase performance in particular, in the case of access between different servers) although it can be pointed several times by fragments (of the same macrostructure or different macrostructures). This minimizes redundancies when reproducing fragments. Thus, not only the fragment versions to be memorized have a relatively fine granularity, but moreover the factorization of the microstructures makes it possible to lighten the fragments. The memory space taken by documents containing multiple versions is thus minimized.
De plus, cette approche permet avantageusement de manipuler les microstructures de manière autonome, indépendamment de la gestion des fragments, en évitant ainsi toute la complexité liée au fait que ces derniers peuvent être : # composés d'une multiplicité de microstructures (et sous-fragments, voir la figure ci-après) imbriquées les unes dans les autres, # partagés entre plusieurs documents à différents niveaux d'imbrication, # avec des versions hétérogènes entre les niveaux. Moreover, this approach advantageously makes it possible to manipulate the microstructures independently, independently of the management of the fragments, thereby avoiding all the complexity related to the fact that the latter can be: # composed of a multiplicity of microstructures (and sub-fragments , see figure below) nested in each other, # shared between several documents at different levels of nesting, # with heterogeneous versions between levels.
Ainsi, cette approche permet de # manipuler les microstructures dans le cadre de systèmes de gestion tierces tout en les mettant à contribution dans les fragments manipulés au moyen du système ; # de générer les microstructures dynamiquement, notamment à partir de bases de données, selon des règles de transformations (mapping) ; # de mémoriser des versions différentes d'une même microstructure dans le cadre de systèmes de gestion de données tierces. Thus, this approach makes it possible to manipulate the microstructures in the context of third-party management systems while using them in the fragments manipulated by means of the system; # generate the microstructures dynamically, especially from databases, according to transformation rules (mapping); # memorize different versions of the same microstructure in the context of third-party data management systems.
<Desc/Clms Page number 140> <Desc / Clms Page number 140>
Enfin, la macrostructure peut avantageusement être placée dans un serveur différent de celui où réside les microstructures. La gestion de la macrostructure peut ainsi être confiée à une entité tierce, notamment à un tiers de confiance librement choisi par les utilisateurs qui partagent de mêmes fragments de documents. La gestion des documents, qui comportent de multiples références à des fragments d'autres documents, est ainsi fiabilisée. Finally, the macrostructure can advantageously be placed in a server different from that where the microstructures reside. The management of the macrostructure can thus be entrusted to a third entity, in particular to a trusted third party freely chosen by the users who share the same fragments of documents. The management of documents, which include multiple references to fragments of other documents, is thus made more reliable.
<Desc/Clms Page number 141> <Desc / Clms Page number 141>
La structure de données Chaque microstructure constitue le début d'un fragment de la source XML : fragment contient ladite microstructure ainsi que d'autres microstructures qui lui sont imbriquées le cas échéant (voir la figure FI) et qui ont alors pu être retrouvées grâce à la macrostructure. The data structure Each microstructure constitutes the beginning of a fragment of the XML source: fragment contains the microstructure and other microstructures that are nested to it if necessary (see figure FI) and which could then be found thanks to the macrostructure.
Lesdites autres microstructures sont positionnées sous des n#uds (n#uds XML) ayant un attribut récipient . Les n#uds récipients sont en général aptes à regrouper un nombre variable de fragments. Said other microstructures are positioned under nodes (XML nodes) having a container attribute. The container nodes are generally capable of grouping a variable number of fragments.
En général, l'utilisateur ne reproduit pas directement une microstructure isolée, mais un fragment (la différence essentielle réside dans la mémorisation de la trace micr-ref ou fragment-ref du maillon amont dans la chaîne de reproduction - voir la section Représentation des macrostructures et microstructures ). Reproduire un fragment, par exemple d'une première source XML à une deuxième, revient à ajouter une information d'insertion dudit fragment dans la macrostructure de la deuxième source XML. In general, the user does not directly reproduce an isolated microstructure, but a fragment (the essential difference lies in the memorization of the micr-ref or fragment-ref trace of the upstream link in the reproduction chain - see section Representation of macrostructures and microstructures). To reproduce a fragment, for example from a first XML source to a second one, amounts to adding insertion information of said fragment into the macrostructure of the second XML source.
Deux cas d'insertion de fragment sont possibles : Soit la version ne compte pas - le fragment inséré est destiné à être toujours présenté dans sa version la plus récente ; il n'y a alors pas besoin de copier dans la deuxième macrostructure la partie de la première macrostructure qui représente le contenu du fragment inséré (c'est-à-dire les n#uds représentant les sous-fragments), Soit la version compte - une version particulière du fragment est inséré ; les n#uds de la deuxième macrostructure représentant les sous-fragments de cette version sont alors aussi insérés dans la première macrostructure. Two cases of fragment insertion are possible: Either the version does not count - the inserted fragment is intended to be always presented in its most recent version; then there is no need to copy in the second macrostructure the part of the first macrostructure that represents the content of the inserted fragment (ie the nodes representing the subfragments), Either the version counts - a particular version of the fragment is inserted; the nodes of the second macrostructure representing the sub-fragments of this version are then also inserted into the first macrostructure.
L'auteur de la source XML ajoute des attributs de délimitation pour indiquer où se trouvent les n#uds récipients dans lesquels les utilisateurs pourront insérer des fragments. Par définition, chaque n#ud situé directement en dessous d'un n#ud récipient est un fragment. The author of the XML source adds delineation attributes to indicate where the recipient nodes are in which users can insert fragments. By definition, every node directly below a container node is a fragment.
Ces attributs sont décrits à la section Attributs de délimitation . These attributes are described in the Bounding Attributes section.
La méthode de présentation d'une source XML ainsi composée de fragments est présentée à la section Composition de feuilles de style . The method of presenting an XML source that is composed of fragments is presented in the Composition section of style sheets.
<Desc/Clms Page number 142> <Desc / Clms Page number 142>
Le code HTML (et scripts associés) de présentation d'une source XML composé de fragments, produite notamment au moyen d'une feuille de style en XSL, est apte à associer à chaque fragment sélectionné un objet graphique distinct, permettant de distinguer les fragments entre eux et pouvant jouant un triple rôle de bouton d'édition, et de poignée et cible permettant des opérations de glisser-déposer. L'utilisateur peut ainsi avoir la possibilité d'éditer les textes, images et liens du fragment dont il active la poignée. The HTML code (and associated scripts) for presenting an XML source composed of fragments, produced in particular by means of an XSL style sheet, is able to associate with each selected fragment a separate graphic object, making it possible to distinguish the fragments between them and can play a triple role of editing button, and handle and target allowing drag-and-drop operations. The user can thus have the possibility of editing the texts, images and links of the fragment of which he activates the handle.
La granularité de manipulation des fragments est en général plus grossière que celle des microstructures. Des attributs particuliers sont associés aux fragments de différents niveaux d'imbrication, pour indiquer dans quelle mesure ils sont manipulables individuellement. Ces attributs permettent ainsi de spécifier quels sont les fragments qui sont éditables en bloc, ou attrapables pour être glissé-déposé, ou encore qui permettent d'afficher un objet graphique cible du glisser-déposer permettant d'insérer un autre fragment (par exemple juste avant le fragment en question). Ces caractéristiques du logiciel de présentation sont décrits plus loin à la section Cibles et Poignées . The handling granularity of the fragments is generally coarser than that of the microstructures. Particular attributes are associated with fragments of different levels of nesting, to indicate to what extent they are individually manipulable. These attributes thus make it possible to specify which fragments are editable in a block, or which can be dragged-dropped, or which make it possible to display a target graphic object of the drag and drop allowing to insert another fragment (for example just before the fragment in question). These features of the presentation software are described later in Targets and Handles.
Caractérisation du système vu de l'utilisateur Le système est d'abord caractérisé par un bouton (libellé click2handle dans la figure ciaprès) apte à changer le mode d'une page pour que, sélectivement, les présentations des fragments sélectionnés soient munies d'un objet graphique poignée (par exemple sous la forme d'un pictogramme représentant une pièce de puzzle) permettant de les attraper en vue de les reproduire dans un récipient cible dans une autre page (ou éventuellement dans la même page) au niveau (par exemple juste à gauche ou au-dessus) de la présentation d'un fragment elle-même munie d'une poignée, par un simple glisser-déposer sur cette poignée. Characterization of the system seen by the user The system is first characterized by a button (labeled click2handle in the figure below) able to change the mode of a page so that, selectively, the presentations of the selected fragments are provided with a graphic object handle (for example in the form of a pictogram representing a puzzle piece) for catching them in order to reproduce them in a target container in another page (or possibly in the same page) at the level (for example just left or above) of the presentation of a fragment itself provided with a handle, by a simple drag and drop on this handle.
Le système est ainsi particulièrement caractérisé en ce que le même objet graphique (celui ayant l'apparence d'une pièce de puzzle) sert de poignée et de cible et par conséquent les fragments importés par un visiteur dans une page sont eux-même importables ailleurs (dans d'autres pages, d'autres sites, ou encore dans la même page). The system is thus particularly characterized in that the same graphic object (the one having the appearance of a puzzle piece) serves as a handle and target and therefore fragments imported by a visitor in a page are themselves importable elsewhere. (in other pages, other sites, or in the same page).
<Desc/Clms Page number 143> <Desc / Clms Page number 143>
Le principe du bouton click2handle et des Poignées/Cibles est illustré schématiquement ci-desous. Par défaut, un bouton click2handle fait partie des pages du site Web (voir figure F2). The principle of the click2handle button and the Handles / Targets is illustrated schematically below. By default, a click2handle button is part of the pages of the website (see figure F2).
Quand l'internaute clique sur le bouton click2handle, les poignées des fragments qui peuvent être importées sont ajoutées à la page affichée (voir figure F3). When the user clicks the click2handle button, the handles of the fragments that can be imported are added to the displayed page (see figure F3).
*L'utilisateur peut alors attraper un des fragments pour le glisser-déposer dans une page de son propre site (voir figure F4). Au préalable, il accède à ladite page de son propre site en ajoutant /admin à l'URL (adresse Web) de cette page. Alternativement, le bouton click2handle de ladite page peut proposer à l'utilisateur de créer une version personnelle de ladite page (ou retrouver une version personnelle déjà créée le cas échéant) après avoir fourni un mot de passe. * The user can then grab one of the fragments to drag and drop into a page of his own site (see Figure F4). Beforehand, it accesses the page of its own site by adding / admin to the URL (web address) of this page. Alternatively, the button click2handle of said page can offer the user to create a personal version of said page (or find a personal version already created if necessary) after providing a password.
Le résultat de l'opération de glisser-déposer illustré dans la figure F4 est présenté à la figure F5. The result of the drag-and-drop operation shown in Figure F4 is shown in Figure F5.
Gestion des macrostructures et microstructures La représentation des sources XML sur un ou plusieurs serveurs est décrite dans la section Représentation des macrostructures et microstructures . Managing macrostructures and microstructures Representing XML sources on one or more servers is described in Representing Macrostructures and Microstructures.
Le traitement des différentes opérations de copie, modification et suppression de fragments est décrit à la section Opérations sur les fragments . The processing of various copy, modify, and delete operations is described in Fragment Operations.
La modification d'un fragment engendre une modification directe, ou (dans le cas où la version compte) une suggestion de modification, dans les fragments qui y étaient dérivés. De même la modification d'une microstructure entraîne la modification directe, ou (dans le cas où la version compte) une suggestion de modification, dans les fragments qui l'ont importés. The modification of a fragment generates a direct modification, or (in the case where the version counts) a suggestion of modification, in the fragments which were derived therefrom. Likewise the modification of a microstructure leads to the direct modification, or (in the case where the version counts) a suggestion of modification, in the fragments which have imported it.
Ceci est décrit à la section Mécanismes de propagation de versions et de suggestion . This is described in the Propagation Versions and Suggestions section.
Enfin, le cas particulier d'un fragment construit à partir d'une page HTML classique est décrit à la section Importation de fragments en HTML . Dans cette section est aussi décrite une Finally, the particular case of a fragment built from a classic HTML page is described in the Importing fragments into HTML section. In this section is also described a
<Desc/Clms Page number 144><Desc / Clms Page number 144>
extension générale a la structure de données permettant de mémoriser des résultats de traitement (tel que la miniaturisation d'une page HTML) avant fourniture à la feuille de style XSL pour éviter de les recalculer à chaque accès. General extension to the data structure to store processing results (such as miniaturization of an HTML page) before providing the XSL style sheet to avoid recalculating each access.
<Desc/Clms Page number 145> <Desc / Clms Page number 145>
Section Attributs de délimitation Prenons comme exemple la source XML (ou document) suivante : <catalogue saison="printemps-ete" annee="2001"> <intro>Nouvelles créations du célèbre couturier Femand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits> <produit> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration src="img/photol.gif"/> </produit> <produit> <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> </produit> </produits> </catalogue> Pour en distinguer les fragments, on fournit ce document au système après avoir ajouté un attribut mix-recipient sur le n#ud qui est le parent dedits fragments. Noter que dans tous les exemples que nous prendrons, les attributs propres au système seront préfixés par mix- . Dans le présent exemple, les deux noeuds <produit> ( Short Bunias et Chemisier argent ) deviennent des fragments suite à l'ajout de cet attribut sur le n#ud <produits> qui est leur parent : <produits mix-recipient="true"> En retour, le système (sur platforml.net en l'occurence) remplacera cet attribut par un attribut plus détaillé ( mix-recipent-number ) qui spécifie la position du récipient en question dans la microstructure dans laquelle il se trouve, ainsi que d'autres attributs, notamment les identifiants des fragments, qui vont s'avérer utile dans la construction de la présentation d'affichage (qui est décrite dans les deux sections suivantes) : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http://platforml.net/share?doc-id=243" mix-fragment-src="http://platforml.net/share?id=543987"> Bounding Attributes Section Let's take as an example the following XML source (or document): <catalog season = "spring-summer" year = "2001"> <intro> New creations by famous fashion designer Femand Durand. </ Intro> <author> < name> Durand </ name> <firstname> Fernand </ firstname> <mail> fd@lemail.com </ mail> </ author> <products> <product> <name> Short Bunias </ name> <price> 590Frs </ price> <description> 100% virgin wool </ description> <illustration src = "img / photol.gif" /> </ product> <product> <name> Silver blouse </ name> <price> 790Frs < / price> <description> Silk from China, light and sweet </ description> <illustration src = "img / photo2.gif" /> </ product> </ products> </ catalog> To distinguish the fragments, we supply this document to the system after adding a mix-recipient attribute to the node which is the parent of the fragments. Note that in all the examples we will take, the system-specific attributes will be prefixed by mix-. In this example, the two <product> nodes (Short Bunias and Silver Blouse) become shards after this attribute is added to the parent product node: <products mix-recipient = "true In return, the system (on platforml.net in this case) will replace this attribute with a more detailed attribute (mix-recipent-number) that specifies the position of the container in question in the microstructure in which it is located. other attributes, including fragment identifiers, that will be useful in building the display layout (which is described in the next two sections): <catalog season = "spring-summer" year = " 2001 "mix-document-src =" http://platforml.net/share?doc-id=243 "mix-fragment-src =" http://platforml.net/share?id=543987 ">
<Desc/Clms Page number 146><Desc / Clms Page number 146>
<intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@Iemail.com</mail> </auteur> <produits mix-recipient-number="1">
<produit mix-fragment-src="http://platforml.net/share?id=543988"> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration src="img/photol.gif"/> </produit>
<produit mix-fragment-src="http://platforml.net/shareid=543989"> <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> </produit> </produits> </catalogue> Noter que les annotations ajoutées ont exclusivement la forme d'attribut. Cette approche offre l'avantage crucial de ne pas modifier la structure d'imbrication des n#uds. <intro> New creations by famous fashion designer Fernand Durand </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@Iemail.com </ mail></author><products mix-recipient-number = "1">
<product mix-fragment-src = "http://platforml.net/share?id=543988"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool < / description><illustration src = "img / photol.gif"/></product>
<product mix-fragment-src = "http://platforml.net/shareid=543989"><name> Silver blouse </ name><price> 790Frs </ price><description> Chinese silk, light and soft < / description><illustration src = "img / photo2.gif"/></product></products></catalog> Note that added annotations have exclusively the attribute form. This approach offers the crucial advantage of not changing the nesting structure of nodes.
Section Composition de feuilles de style A chaque fragment peut être associé # un premier attribut mix-micrlocalstyle-src spécifiant la source de la feuille de style (dite locale ) qui a été choisie par l'auteur de la microstructure de tête dudit fragment, # un deuxième attribut mix-fragmentlocalstyle-src spécifiant la source de la feuille de style locale, pour ledit fragment, choisie par son propriétaire, # et un troisième attribut mix-localstyle-preferred qui figure dans le cas où le propriétaire dudit fragment préfère appliquer le style local de la microstructure de tête dudit fragment ( mix-localstyle-preferred = "micr" ) ou celui dudit fragment ( mix- localstyle-preferred = "fragment" ). Dans le cas où aucun style local n'est préféré, le troisième attribut ne sera pas spécifié, et les premiers et/ou deuxième attributs ne serviront que pour les fragments importés plus à l'aval. Style sheet composition section Each fragment can be associated with # a first mix-micrlocalstyle-src attribute specifying the source of the so-called local style sheet that has been chosen by the author of the header microstructure of this fragment, # a second attribute mix-fragmentlocalstyle-src specifying the source of the local style sheet, for said fragment, chosen by its owner, # and a third attribute mix-localstyle-preferred which appears in the case where the owner of said fragment prefers to apply the local style of the head microstructure of said fragment (mix-localstyle-preferred = "micr") or that of said fragment (mix-localstyle-preferred = "fragment"). In the case where no local style is preferred, the third attribute will not be specified, and the first and / or second attributes will only be used for fragments imported further downstream.
Lors de l'application des feuilles de style et d'autres programmes de transformation le cas échéant (décrits plus loin), le système transforme en XHTML le document sauf tous les fragments qui ont l'attribut mix-local-style-preferred avec une valeur spécifiée ("micr" ou "fragment"). Ces derniers sont copiés tel quel afin que leur transformation puisse être When applying style sheets and other transformation programs as appropriate (described later), the system transforms the document into XHTML except for any fragments that have the mix-local-style-preferred attribute with a specified value ("micr" or "fragment"). These are copied as is so that their transformation can be
<Desc/Clms Page number 147><Desc / Clms Page number 147>
effectuée lors d'un prochain passage. Le procédé est ainsi itératif et à chaque passage, les fragments qui n'ont pas encore été transformés en XHTML, c'est-à-dire tous les n#uds qui ont un attribut mix-local-style-preferred spécifié et dont aucun ancêtre a ce même attribut spécifié, sont transformés à leur tour, jusqu'à que tous les fragments (tous les sous-fragments en profondeur) aient été pris en compte. made during a next visit. The process is thus iterative and at each pass, the fragments that have not yet been transformed into XHTML, that is to say all nodes that have a specified mix-local-style-preferred attribute and none of which ancestor to the same specified attribute, are transformed in turn, until all fragments (all deep subfragments) have been taken into account.
Pour illustrer ce procédé, reprenons l'exemple du couturier Fernand Durand et précisons ces attributs de style: <catalogue saison="printemps-ete" annee="2001"
mix-document-src="http://platforml.net/share?doc-id=d2150" mix-content-src="http://platforml.net/share?id=c3215640"
mix-micrlocalstyle-src="http://somewhere.com/stylel.xsf" mix-localstyle-preferred="micr" > <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur> <nom>durand</nom> <prenom>fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="l"> <produit
mix-content-src="http://platformi.net/share?id=c3215641" m ix-fragmentlocalstyle-src= "http://foo.com/style-produit-l.xsl" mix-localstyle-preferred="fragment" > <nom>Short Bunias</nom> <prix>590Frs</prix> <description> Laine vierge à 100%</description> <illustration source="img/photol.gif"/> </produit> <produit mix-content-src="http://platforml.net/share?id=c3215642"
mix-micrlocalstyle-src="http://foo.com/style-produit-l.xsl" > <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration source="img/photo2.gif"/> </produit> </produits> </catalogue> Les feuilles de styles en XSL utilisées par les applications d'affichage sont, par exemple, les suivantes : # http://somewhere.com/style1.xsl : To illustrate this process, let us take the example of fashion designer Fernand Durand and specify these attributes of style: <catalog season = "spring-summer" year = "2001"
mix-document-src = "http://platforml.net/share?doc-id=d2150" mix-content-src = "http://platforml.net/share?id=c3215640"
mix-micrlocalstyle-src = "http://somewhere.com/stylel.xsf" mix-localstyle-preferred = "micr"><intro> New creations by famous couturier fernand Durand. </ intro><author><name> durand </ name><firstname> fernand </ firstname><mail> fd@lemail.com </ mail></author><products mix-recipient-number = "l"><product
mix-content-src = "http://platformi.net/share?id=c3215641" m ix-fragmentlocalstyle-src = "http://foo.com/style-product-l.xsl" mix-localstyle-preferred = "fragment"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool </ description><source illustration = "img / photol.gif"/></ product ><product mix-content-src = "http://platforml.net/share?id=c3215642"
mix-micrlocalstyle-src = "http://foo.com/style-product-l.xsl"><name> Silver blouse </ name><price> 790Frs </ price><description> Silk from China, light and soft </ description><source illustration = "img / photo2.gif"/></product></products></catalog> The XSL stylesheets used by display applications are, for example, the following : # http://somewhere.com/style1.xsl:
<Desc/Clms Page number 148><Desc / Clms Page number 148>
<?xml version="1.0" encoding="ISO- 8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="catalogue"> <p>Catalogue : </p> <p>Les produits du catalogues : <xsl:value-of select="intro" /><lp> <xsl:apply-templates /> </xsl:template> <xsl:template match="produits"> <p>Les produits du catalogues : <lp> <ul><xsl:apply-templates select="produit" /></ul> </xsl:template> <xsl:template match="produits/produit"> <li><xsl:apply-templates select="nom"/></li> </xsl:template> <xsl:template match="nom"> nom : <b><xsl:value-of/></b> </xsl:template> <xsl:template match="/"> <html> <title>Le catalogue</title> <body> <xsl:apply-templates select="catalogue"/> <Ibody> </html> </xsl:template>
<xsl:template match= "@*"[ancestor("/@mix-Iocalstyle-preferred[texte) = 'mcr'$or$text()='fragment'])]" > <xsl:attribute><xsl:value-of/></xsl:attribute> </xsl:template>
<xsl:template match="*[@mix-!oca!sty!e-preferred=='m!cr' $or$@mix-localstyIe-preferred=Tragment' $or$ ancestor( * /@mix-Iocalstyle-preferred[text()='mlcr'$or$text() = 'frag ment'])" > <xsl:copy><xsl:apply-templates/></xsl:copy> </xsl:template> <xsl:stylesheet> Observer les deux derniers templates (propres au langage XSL) qui ont pour effet de recopier mot à mot les n#uds pour lesquels l'attribut mix-localstyle-preferred a la valeur micr ou fragment pour les laisser aux passages suivants. <? xml version = "1.0" encoding = "ISO- 8859-1"?>
<xsl: stylesheet xmlns: xsl = "http://www.w3.org/TR/WD-xsl"><xsl: template match = "catalog"><p> Catalog: </ p><p> Products of the catalogs: <xsl: value-of select = "intro"/><lp><xsl: apply-templates /></ xsl: template><xsl: template match = "products"><p> Catalog products : <lp><ul><xsl: apply-templates select = "product"/></ul></ xsl: template><xsl: template match = "products / product"><li><xsl: apply- templates select = "name"/></li></ xsl: template><xsl: template match = "name"> name: <b><xsl: value-of /></b></ xsl: template <xsl: template match = "/"><html><title> The catalog </ title><body><xsl: apply-templates select = "catalog"/><Ibody></html></ xsl: template>
<xsl: template match = "@ *" [ancestor ("/ @ mix-Iocalstyle-preferred [text] = 'mcr' $ or $ text () = 'fragment'])]"><xsl:attribute><xsl : value-of /></ xsl: attribute></ xsl: template>
<xsl: template match = "* [@ mix-! oca! sty! e-preferred == 'm! cr' $ or $ @ mix-localstyIe-preferred = Tragment '$ or $ ancestor (* / @ mix-Iocalstyle -preferred [text () = 'mlcr' $ or $ text () = 'frag ment']) "><xsl:copy><xsl: apply-templates /></ xsl: copy></ xsl: template><xsl:stylesheet> Observe the last two templates (specific to XSL language) that have the effect of copying word by word the nodes for which the attribute mix-localstyle-preferred has the value micr or fragment to leave them at the passages following.
Ainsi, l'application d'affichage récupérera d'abord le code XML suivant : <html> <title>Le catalogue</title> <body> <p>Catalogue : </p> Thus, the display application will first retrieve the following XML: <html> <title> The catalog </ title> <body> <p> Catalog: </ p>
<Desc/Clms Page number 149><Desc / Clms Page number 149>
<p>Les produits du catalogues : Nouvelles créations du célèbre couturier fernand Durand.<Ip> <ul> <produit mix-content-src="http ://platform1.net/share?id=c3215641"
mix-fragmentlocalstyle-src="http://foo.com/style-produit-i.xsl" mix-localstyle-preferred="fragment" > <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration source="img/photo1.gif"/> </produit> <li> nom : <b> Chemisier argent </b></li> </ul> </body> </html> Ensuite, l'application d'affichage effectue un deuxième passage sur le document. Elle sélectionne le n#ud produit et lui applique la feuille de style http://foo.com/style- produit-l.xsl dont le code est par exemple le suivant : # http://foo.com/style-produit-l.xsl : <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="produit"> <xsl:element name="img"> <xsi:attribute name="src"><xsl:value-of select="illustration/#source"></xsl:attribute> <xsl:attribute name="align">left</xsl:attribute> </xsl: element > nom : <b><xsl:value-of select="nom"/></b><br/> prix : <b><xsl:value-of select="prix"/> (TTC)</b><br/> description : <xsl:value-of select="description"/><br/> <br clear="all"/> </xsl:template> <xsl:template match="/"> <html> <title>Le produit miracle</title> <body> <xsl:apply-templates se!ect="produit"/> </body> </html> </xsl:template>
<xsl:template match = "@O± [a ncestor( * /@mix-localstyle-preferred[textO= 'mlcr'$or$textO ='frag ment'])]" > <xsl:attribute><xsl:value-of/></xsl:attribute> </xsl:template> <p> Catalog products: New creations by famous couturier fernand Durand <Ip><ul><product mix-content-src = "http: //platform1.net/share?id=c3215641"
mix-fragmentlocalstyle-src = "http://foo.com/style-product-i.xsl" mix-localstyle-preferred = "fragment"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool </ description><source illustration = "img / photo1.gif"/></product><li> name: <b> Silver blouse </ b></li></ ul ></body></html> Then, the display application makes a second pass on the document. She selects the product node and applies the style sheet http://foo.com/style-product-l.xsl whose code is for example the following: # http://foo.com/style-product -l.xsl: <? xml version = "1.0" encoding = "ISO-8859-1"?><xsl: stylesheet xmlns: xsl = "http://www.w3.org/TR/WD-xsl"><xsl: template match = "product"><xsl: element name = "img"><xsi: attribute name = "src"><xsl: value-of select = "illustration / # source"></ xsl: attribute ><xsl: attribute name = "align"> left </ xsl: attribute></ xsl: element> name: <b><xsl: value-of select = "name"/></b><br/> price: <b><xsl: value-of select = "price"/> (including VAT) </ b><br/> description: <xsl: value-of select = "description"/><br/><br clear = "all"/></ xsl: template><xsl: template match = "/"><html><title> The miracle product </ title><body><xsl: apply-templates se! ect = " product "/></body></html></ xsl: template>
<xsl: template match = "@ O ± [a ncestor (* / @ mix-localstyle-preferred [textO = 'mlcr' $ or $ textO = 'frag ment'])]"><xsl:attribute><xsl: value-of /></ xsl: attribute></ xsl: template>
<Desc/Clms Page number 150><Desc / Clms Page number 150>
<xsl:template match="*[@mix-localstyle- preferred='micr' $or$@mix-localstyle-
preferred='fragment' $or$ ancestor(*/@mix-localstyle-preferred[text()='micr'$or$text()=1fragment'])"> <xsl:copy><xsl:apply-templates/></xsl:copy> </xsl:template> <xsl:stylesheet> On obtient ainsi finalement le document HTML suivant : <html> <title>Le catalogue</title> <body> <p>Catalogue : </p> <p>Les produits du catalogues : Nouvelles créations du célèbre couturier fernand Durand.</p> <ul> <img src="img/photol.gif" align="left"/> nom : <b>Short Bunias</b><br/> prix : <b>590Frs (TTC)</b><br/> description :Laine vierge à 100%<br/> < br clear="all"/> <li> nom : <b> Chemisier argent </b></li> </ul> </body> </html> <xsl: template match = "* [@ mix-localstyle- preferred = 'micr' $ or $ @ mix-localstyle-
preferred = 'fragment' $ or $ ancestor (* / @ mix-localstyle-preferred [text () = 'micr' $ or $ text () = 1fragment ']) "><xsl:copy><xsl: apply-templates /></ xsl: copy></ xsl: template><xsl:stylesheet> We finally get the following HTML document: <html><title> The catalog </ title><body><p> Catalog: </ p><p> Catalog products: New creations by famous fashion designer Fernand Durand. </ p><ul><img src = "img / photol.gif" align = "left"/> name: <b> Short Bunias </ b><br/> price: <b> 590Frs (TTC) </ b><br/> description: 100% virgin wool <br/><br clear = "all"/><li> name: <b> Silver blouse </ b></li></ul></body></html>
<Desc/Clms Page number 151><Desc / Clms Page number 151>
Section Cibles et Poignées La construction de la présentation d'affichage en mode manipulation s'effectue en fonction des attributs possédés par les n#uds récipients et les n#uds fragments. Targets and Handles Section The construction of the display layout in manipulation mode is based on the attributes held by the container nodes and the fragment nodes.
Les n#uds récipient possèdent un attribut mix-recipient-accessgrain dont la valeur indique si de nouveaux fragments peuvent y être insérés par le propriétaire du document ou par un visiteur . Container nodes have a mix-recipient-accessgrain attribute whose value indicates whether new fragments can be inserted by the document owner or by a visitor.
Les n#uds fragments possèdent un attribut mix-fragment-accessgrain qui permet de distinguer ceux d'entre eux qui sont manipulables et pour quelles types de manipulations ils le sont. Par défaut, le fragment n'est pas manipulable individuellement, cependant il pourra l'être au sein d'un fragment ancêtre qui est manipulable le cas échéant. Dans le cas où ledit attribut à la valeur private , seul le propriétaire du document pourra le manipuler en édition et insertion, reproduction ou déplacement. Un seul et même objet graphique jouera le rôle de bouton d'édition (pour le cas du clic), de cible d'insertion et de poignée pour attraper le fragment et l'emmener ailleurs (cas du glisser-déposer). Dans le cas où ledit attribut a la valeur public , le fragment est aussi exportable par un visiteur ; une poignée lui sera présentée, cependant un visiteur ne pourra pas l'éditer. Dans le cas où en plus le n#ud parent possède l'attribut mix-recipient-accessgrain ayant la valeur public , ladite poignée servira aussi de cible pour le visiteur public. Fragment nodes have a mix-fragment-accessgrain attribute that distinguishes between those that are manipulable and for which types of manipulations they are. By default, the fragment can not be manipulated individually, but it can be handled within an ancestor fragment that can be manipulated if necessary. In case this attribute has the value private, only the owner of the document will be able to handle it in edition and insertion, reproduction or displacement. A single graphic object will play the role of editing button (for the case of the click), insertion target and handle to catch the fragment and take it elsewhere (case of drag and drop). In the case where said attribute has the public value, the fragment is also exportable by a visitor; a handle will be presented to him, however a visitor will not be able to edit it. In the case where in addition the parent node has the mix-recipient-accessgrain attribute having the public value, said handle will also serve as a target for the public visitor.
Les feuilles de style, en langage XSL, génèrent des scripts appelant les fonctions pré-établies (et définies une fois pour toutes dans l'entête de la page Web générée) qui dessinent les boutons "poignées-cibles". Pour ce faire des blocs tels que les suivants sont insérés dans les templates (en terminologie XSL) pour transformer les n#uds fragments : <xsl:if test="/*/@mix-mode [text()='edit'$or$text()='manip']"> <xsl:if test=".[@mix-fragment-accessgrain='private'$or$...]"> <xsl:element name="script"> gbxDraw( '<xsl:value-of select="./@mix-fragment-src" />', '<xsl:value-of select="./@mix-fragment-version "/>', '<xsl:value-of select="./@mix-fragment-accessgrain" />' ...); </xsl : element> </xsl:if> </xsl:if> Style sheets, in XSL language, generate scripts calling the pre-established functions (and defined once and for all in the header of the generated web page) that draw the "target handles" buttons. To do this, blocks such as the following are inserted into templates (in XSL terminology) to transform fragment nodes: <xsl: if test = "/ * / @ mix-mode [text () = 'edit' $ or $ text () = 'manip'] "> <xsl: if test =". [@ mix-fragment-accessgrain = 'private' $ or $ ...] "> <xsl: element name =" script "> gbxDraw ('<xsl: value-of select = "./@ mix-fragment-src" />', '<xsl: value-of select = "./@ mix-fragment-version" />', '< xsl: value-of select = "./@ mix-fragment-accessgrain" /> '...); </ xsl: element> </ xsl: if> </ xsl: if>
<Desc/Clms Page number 152><Desc / Clms Page number 152>
<xsl:if test="/*/@mix-mode [text()='edit'$or$text()='manip']"> <xsl:if test=".[@mix-recipient-accessgrain='private'$or$...]"> <xsl:element name="script"> gbxDrawInsert( '<xsl :value-of select="ancestor(*[#mix-fragment-src])/#mix-fragment-src " />', '<xsl:value-of select="@mix-recipient-number" />', 'produit', 'urn:glassbox-document-2' ); </xsl : element> </xsl:if> </xsl: if> Le premier bloc est apte à introduire dans la page HTML une fonction gbxDraw() qui permet d'insérer dans l'affichage un bouton poignée-cible. Cette fonction prend en paramètres 1. La référence du fragment à éditer (il s'agit de la valeur de l'attribut "mix-fragment-src" présenté plus loin) qui pourra notamment être retransmise aux fonctions gbxEdit() ou gbxInsert() (présentées plus bas) 2. La version du fragment et la version la plus récente à la source (il s'agit de la valeur de l'attribut "mix-sourcefragment-version" présentée plus loin) qui permet de dessiner différement la poignée s'il faut suggérer une nouvelle version Le deuxième template sert à introduire la fonction "gbxDrawInsert()" qui permet d'insérer dans l'affichage une cible d'insertion après le dernier fragment d'un récipient. Cette fonction prend en paramètres : 1. La référence du récipient cible (il s'agit de la valeur de l'attribut "mix-recipient-number" présenté plus loin) 2. La référence du fragment contenant le récipient (la valeur de l'attribut "mix-fragment-src" du premier "ancêtre" du noeud récipient ayant cet attribut) 3. Le référence du fragment à insérer 4. Le référence du fragment à la suite duquel il faut insérer. <xsl: if test = "/ * / @ mix-mode [text () = 'edit' $ or $ text () = 'manip']"> <xsl: if test = ". [@ mix-recipient-accessgrain = 'private' $ or $ ...] "> <xsl: element name =" script "> gbxDrawInsert ('<xsl: value-of select =" ancestor (* [# mix-fragment-src]) / # mix -fragment-src "/> ',' <xsl: value-of select =" @ mix-recipient-number "/> ',' product ',' urn: glassbox-document-2 '); </ xsl: element> </ xsl: if> </ xsl: if> The first block is able to introduce in the HTML page a function gbxDraw () which allows to insert in the display a handle-target button. This function takes into parameters 1. The reference of the fragment to be edited (this is the value of the attribute "mix-fragment-src" presented later) which can be retransmitted to the functions gbxEdit () or gbxInsert () (see below) 2. The version of the fragment and the most recent version at the source (this is the value of the attribute "mix-sourcefragment-version" presented later) which allows to draw differently the handle if it is necessary to suggest a new version The second template is used to introduce the function "gbxDrawInsert ()" which allows to insert in the display an insertion target after the last fragment of a container. This function takes into parameters: 1. The reference of the target container (this is the value of the attribute "mix-recipient-number" presented below) 2. The reference of the fragment containing the container (the value of the attribute "mix-fragment-src" of the first "ancestor" of the container node having this attribute) 3. The reference of the fragment to insert 4. The reference of the fragment after which it is necessary to insert.
Les boutons "poignées-cibles" appellent la fonctionnalité d'édition d'un fragment au moyen d'une fonction "gbxEdit()" qui appelle un service qui traite le fragment pour le présenter en un formulaire de saisie. Cette fonction prend la référence du fragment à éditer (il s'agit de la valeur de l'attribut "mix-fragment-src"). The "target-grip" buttons call the fragment-editing feature using a "gbxEdit ()" function that calls a service that processes the fragment to present it as an input form. This function takes the reference of the fragment to be edited (this is the value of the attribute "mix-fragment-src").
<Desc/Clms Page number 153><Desc / Clms Page number 153>
Elles mettent également en #uvre la fonctionnalité d'insertion ou de création d'un fragment au moyen d'une fonction "gbxInsert ()". Celle-ci prend en paramètres : 1. La référence du récipient cible ("mix-recipient-number") 2. La référence du fragment contenant le récipient 3. Le référence du fragment à insérer (à défault, la fonction donne un fragment vierge) 4. Le référence du fragment à la suite duquel il faut insérer (à défault, le service insérera en dernière position). They also implement the function of inserting or creating a fragment by means of a "gbxInsert ()" function. This takes into parameters: 1. The reference of the target container ("mix-recipient-number") 2. The reference of the fragment containing the container 3. The reference of the fragment to insert (the default, the function gives a virgin fragment ) 4. The reference of the fragment after which it is necessary to insert (if not, the service will insert in last position).
Appliquons ce procédé à l'exemple suivant : <catalogue saison="printemps-ete" annee="2001" mix-fragment-src="http ://platform1.net/share?id=0" mix-fragment-accessgrain="public"
mix-frag mentlocalstyle-src="http//plateform 1. net/xs] 1. xsl" mix-localstyle-preferred="fragment" > <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-num ber=" 1" mix-recipient-accessgrain="private"> <produit mix-fragment-src="http://platforml.net/share?id=l" mix-fragment-accessgrain="private" mix-fragmentlocalstyle-src="http//plateform1. net/xsl2.xsl" mix-localstyle-preferred="fragment" > <nom>Short Bunias</nom> <prix>590Frs</prix> <description> Laine vierge à 100%</description> <illustration src="img/photol.gif"/> </produit> <produit mix-fragment-src="http://platforml.net/share?id=2" mix-fragment-accessgrain="public" mix-fragmentlocalstyle-src="http//plateforml.net/xsl2.xsl" mix-localstyle-preferred="fragment" > <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> <conseils mix-recipient-number="1" mix-recipient- accessgrain="public"> <conseil mix-fragment-src="http://platforml.net/share?id=50" mix-fragment-accessgrain="private" Let's apply this process to the following example: <catalog season = "spring-summer" year = "2001" mix-fragment-src = "http: //platform1.net/share?id=0" mix-fragment-accessgrain = "public"
mix-frag mentlocalstyle-src = "http // platform 1. net / xs] 1. xsl" mix-localstyle-preferred = "fragment"><intro> New creations of famous couturier Fernand Durand. </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@lemail.com </ mail></author><mix-recipient-num products ber = "1" mix-recipient-accessgrain = "private"><product mix-fragment-src = "http://platforml.net/share?id=l" mix-fragment-accessgrain = "private" mix-fragmentlocalstyle-src = "http // platform1 / net / xsl2.xsl "mix-localstyle-preferred =" fragment "><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool </ description><illustration src =" img / photol.gif "/></product><product mix-fragment-src =" http://platforml.net/share?id=2 "mix-fragment-accessgrain =" public "mix-fragmentlocalstyle-src =" http //plateforml.net/xsl2.xsl "mix-localstyle-preferred =" fragment "><name> Silver blouse </ name><price> 790Frs </ price><description> Silk from China, light and sweet </ description ><illustration src = "img / phot o2.gif "/><mix-recipient-number=" 1 "tips mix-recipient-accessgrain =" public "><mix-fragment-src advice =" http://platforml.net/share?id=50 " mix-fragment-accessgrain = "private"
<Desc/Clms Page number 154><Desc / Clms Page number 154>
mix- fragmentlocalstyle- src="http//plateform1. net/xsl2.xsl" mix-localstyle-preferred="fragment" >Pour les soirées décontractées</conseil> <conseil mix-fragment-src="http ://platform1.net/share?id=51" mix-fragment-version="" mix-fragment-accessgrain="" mix-fragmentlocalstyle-src="http//plateforml.net/xsl2.xsl" mix-localstyle-preferred="fragment" >Pour les week-ends</conseil> </conseils> </produit> </produits> </catalogue> Mode "normal" : Le fragment catalogue sera transformé dans le code HTML suivant : <p>Catalogue : Nouvelles créations du célèbre couturier Fernand Durand </p> <p>Les produits du catalogue :</p> <ul> <li>Short Bunias</li> <li>Chemisier argent (pour les soirées décontractées) (pour les week-ends)</li> </ul> Mode "manipulation" : (l'internaute veut voir les "poignées-cibles") Le fragment catalogue sera transformé dans le code HTML suivant : <script language="javascript"> gbxDraw('http://platform1.net/share?id=1', '0,0', 'public') </script> <p>Catalogue : Nouvelles créations du célèbre couturier Fernand Durand.</p> <p>Les produits du catalogue :</p> <ul> <li>Short Bunias</li> <script language="javascript"> gbxDraw('http://platform1.net/share?id=2', ", 'private') </script> <li>Chemisier argent (pour les soirées décontractées) (pour les week-ends) <script language="javascript"> gbxDrawInsert('http://platform1.net/share?id=2', '1', 'conseil', 'urn:document-l') </script> </li> </ul> mix-librarylocalstyle-src = "http // platform1 .net / xsl2.xsl" mix-localstyle-preferred = "fragment"> For casual parties </ board> <board mix-fragment-src = "http: // platform1 .net / share? id = 51 "mix-fragment-version =" "mix-fragment-accessgrain =" "mix-fragmentlocalstyle-src =" http // platformforml.net / xsl2.xsl "mix-localstyle-preferred =" fragment "> For weekends </ board> </ tips> </ product> </ products> </ catalog>" normal "mode: The catalog fragment will be transformed into the following HTML code: <p> Catalog: News creations of famous couturier Fernand Durand </ p> <p> Products in the catalog: </ p> <ul> <li> Short Bunias </ li> <li> Silver blouse (for casual parties) (for weekends) ends) </ li> </ ul> "Manipulation" mode: (the user wants to see the "target handles") The catalog fragment will be transformed into the following HTML code: <script language = "javascript"> gbxDraw (' http://platform1.net/share?id=1 ',' 0,0 ',' public ') </ script> <p> Catalogu e: New creations of the famous fashion designer Fernand Durand. </ p> <p> The products in the catalog: </ p> <ul> <li> Bunias short </ li> <script language = "javascript"> gbxDraw ('http : //platform1.net/share?id=2 ', ",' private ') </ script> <li> Silver blouse (for casual parties) (for weekends) <script language =" javascript "> gbxDrawInsert ('http://platform1.net/share?id=2', '1', 'hint', 'urn: document-l') </ script> </ li> </ ul>
<Desc/Clms Page number 155><Desc / Clms Page number 155>
Si l'internaute est identifié en tant que propriétaire du document, en tenant compte du fait que l'attribut "mix-fragment-accessgrain" du noeud "catalogue" est "private", le système traduira le fragment catalogue de la façon suivante : <script language="javascript"> gbxDraw('http://platform1.net/share?id=0', '0,0', 'private') </script> <p>Catalogue : Nouvelles créations du célèbre couturier Fernand Durand.</p> <p>Les produits du catalogue :</p> <ul> <script language="javascript"> gbxDraw('http://platform1.net/share?id=1', '0,1', 'public') </script> <li>Short Bunias</li> <script language="javascript"> gbxDraw('http://platforml.net/share?id=2', ", 'public') </script> <li>Chemisier argent <script language="javascript"> gbxDraw('http://platform1.net/share?id=50', ", 'public') </script> (pour les soirées décontractées) (pour les week-ends) <script language="javascript"> gbxDrawInsert('http://platform1.net/share?id=2', '1', 'conseil', 'urn:document-l') </script> </li> </ul> <script language="javascript">
gbxDrawInsert('http://platform l.net/share?id =0', '1', 'produit', urn:document-1') </script> La figure F6 présente schématiquement, dans un diagramme de collaboration (en notation UML, Unified Modelling Language ) trois écrans et deux composants (services Web). Le scénario présenté comprend trois ensembles d'interactions avec l'utilisateur qui utilisent ces composants. If the user is identified as the owner of the document, taking into account that the "mix-fragment-accessgrain" attribute of the "catalog" node is "private", the system will translate the catalog fragment as follows: <script language = "javascript"> gbxDraw ('http://platform1.net/share?id=0', '0,0', 'private') </ script><p> Catalog: New creations by the famous fashion designer Fernand Durand. </ P><p> The products in the catalog: </ p><ul><script language = "javascript"> gbxDraw ('http://platform1.net/share?id=1', '0 , 1 ',' public ') </ script><li> Short Bunias </ li><script language = "javascript"> gbxDraw (' http://platforml.net/share?id=2 ', ",' public ') </ script><li> Silver blouse <script language = "javascript"> gbxDraw (' http://platform1.net/share?id=50 ', ",' public ') </ script> (for casual parties) (for weekends) <script language = "javascript"> gbxDrawInsert ('http://platform1.net/share?id=2', '1', 'board', 'urn: document- the </ script></li></ul><script language = "javascript">
gbxDrawInsert ('http: // platform l.net/share?id=0', '1', 'product', urn: document-1 ') </ script> Figure F6 shows schematically in a collaboration diagram ( in UML notation, Unified Modeling Language) three screens and two components (web services). The presented scenario includes three sets of user interactions that use these components.
Ces interactions sont les suivantes : 1. Basculer l'affichage du mode normal au mode manipulation
1.1. En retour, le système présente à l'utilisateur la page HTML en mode manipulation 2. L'utilisateur a cliqué sur un bouton d'édition associé à un fragment
2. 1. En retour, le système présente à l'utilisateur un éditeur assemblé automatiquement en fonction du contenu du fragment à éditer 3. L'utilisateur a cliqué sur un bouton permettant de sauvegarder les résultats de l'édition
3.1. Ces résultats sont transmis au service Micr (comme décrit plus loin) These interactions are as follows: 1. Toggle the display from normal mode to manipulation mode
1.1. In return, the system presents the user with the HTML page in manipulation mode 2. The user has clicked on an edit button associated with a fragment
2. 1. In return, the system presents the user with an editor automatically assembled according to the content of the fragment to be edited 3. The user has clicked a button to save the results of the edition
3.1. These results are transmitted to the Micr service (as described later)
<Desc/Clms Page number 156> <Desc / Clms Page number 156>
3. 1.1. Le service Micr transmet la requête au service Macr pour mise à jour de la macrostructure du document
3. 2. (et 3. 3) Le service raffraîchit le contenu de la présentation en mode manipulation ;
Alternativement (en 3. 2' et 3. 3') si la sauvegarde a été demandée (en 3) dans une fenêtre séparée, le système renvoie un OK à l'utilisateur, rafraîchit le contenu de la présentation en mode manipulation ( opener.reload() ), puis ferme la fenêtre d'édition ( close() ) 4. Reproduire un fragment d'un endroit à un autre par un glisser-déposer. 3. 1.1. The Micr service sends the request to the Macr service to update the document macrostructure
3. 2. (and 3. 3) The service refreshes the content of the presentation in manipulation mode;
Alternatively (in 3. 2 'and 3. 3') if the backup was requested (in 3) in a separate window, the system returns an OK to the user, refreshes the contents of the presentation in manipulation mode (opener. reload ()), then close the edit window (close ()) 4. Drag a fragment from one place to another by dragging and dropping.
<Desc/Clms Page number 157> <Desc / Clms Page number 157>
Section Représentation des macrostructures et microstructures Reprenons l'exemple la source XML, reproduite ci-dessous, auquel on avait ajouté un attribut mix-recipient="true" sur le n#ud <produit> pour indiquer que ce noeud constitue un récipient de fragments : <catalogue saison="printemps-ete" annee="2001"> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient="true"> <produit> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration src="img/photol.gif"/> </produit> <produit> <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> </produit> </produits> </catalogue> Avant de pouvoir retourner le document avec des attributs supplémentaires, comme il l'a été décrit à la section Attributs de délimitation , la plateforme a décomposé le document original en une macrostructure et trois microstructures, et seulement ensuite les a recomposés pour obtenir ledit document. Section Representation of Macrostructures and Microstructures Let's take the example of the XML source, reproduced below, to which we added a attribute mix-recipient = "true" on the node <product> to indicate that this node is a container of fragments : <catalog saison = "printemps-ete" year = "2001"> <intro> New creations by famous couturier Fernand Durand </ intro> <author> <name> Durand </ name> <firstname> Fernand </ firstname> <mail> fd@lemail.com </ mail> </ author> <products mix-recipient = "true"> <product> <name> Short Bunias </ name> <price> 590Frs </ price> <description> Wool 100% blank </ description> <illustration src = "img / photol.gif" /> </ product> <product> <name> Silver blouse </ name> <price> 790Frs </ price> <description> Silk of China, light and sweet </ description> <illustration src = "img / photo2.gif" /> </ product> </ products> </ catalog> Before you can return the document with additional attributes, as it has has been described in Boundary Attributes , the platform has decomposed the original document into a macrostructure and three microstructures, and only then recomposed them to obtain said document.
Le but de la présente section est de décrire l'architecture du système qui met en #uvre ce procédé et de dévoiler la représentation (en XML) des éléments décomposés en interne dans le système. The purpose of this section is to describe the system architecture that implements this process and to unravel the representation (in XML) of the internally decomposed elements in the system.
Le résultat du procédéde de décomposition est illustré ci-dessous. The result of the decomposition process is illustrated below.
Les microstructures sont les suivantes : <mix:microstructures> [...] <mix:micr id="26"> <catalogue saison="printemps-ete" annee="2001"> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> The microstructures are as follows: <mix: microstructures> [...] <mix: micr id = "26"> <catalog season = "spring-summer" year = "2001"> <intro> New creations of the famous couturier Fernand Durand. </ intro>
<Desc/Clms Page number 158><Desc / Clms Page number 158>
<auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="0"x/produits> </catalogue> </mix:micr> <mix:micr id="27"> <produit> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration src="img/photol.gif"/> </produit> </mix:micr> <mix:micr id="28"> <produit> <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> </produit> </mix:micr> [...] </mix:microstructures> Observer dans la première microstructure l'attribut mix-recipient-number= "0" qui indique qu'à cette position des fragments pourront être imbriqués. Ce numéro "0" est utilisé ci- dessous dans la macrostructure pour faire le joint avec cette microstructure. <author> <name> Durand </ name> <firstname> Fernand </ firstname> <mail> fd@lemail.com </ mail> </ author> <products mix-recipient-number = "0" x / products> </ catalog> </ mix: micr> <mix: micr id = "27"> <product> <name> Short Bunias </ name> <price> 590Frs </ price> <description> 100% virgin wool </ description> <illustration src = "img / photol.gif" /> </ product> </ mix: micr> <mix: micr id = "28"> <product> <name> Silver blouse </ name> <price> 790Frs </ price> <description> Chinese silk, light and soft </ description> <illustration src = "img / photo2.gif" /> </ product> </ mix: micr> [...] </ mix : microstructures> Observe in the first microstructure the attribute mix-recipient-number = "0" which indicates that at this position fragments can be nested. This number "0" is used below in the macrostructure to make the seal with this microstructure.
La macrostructure du document, qui sert à représenter l'imbrication des fragments qui chacun pointe sur une microstructure, est la suivante : <mix:document id="9"> <mix:ref-versions fragmentId="53"> <mix:micr-ref v="0" src="local://26"> <mix:recipient n="0"> <mix:ref-versions fragmentId ="54"> <mix:micr-ref v="0" src="local://27"/> <mix:ref-versions/> <mix:ref-versions fragmentld ="55"> <mix:micr-ref v="0" src="local://28"/> <mix:ref-versions/> </mix:recipient> </mix:micr-ref> <mix:ref-versions/> </mix:document> The macrostructure of the document, which is used to represent the nesting of fragments that each points to a microstructure, is as follows: <mix: document id = "9"> <mix: ref-versions fragmentId = "53"> <mix: micr-ref v = "0" src = "local: // 26"> <mix: recipient n = "0"> <mix: rem-versions fragmentId = "54"> <mix: micr-ref v = "0 "src =" local: // 27 "/> <mix: rem-versions /> <mix: rem-versions fragmentld =" 55 "> <mix: micr-ref v =" 0 "src =" local: // 28 "/> <mix: ref-versions /> </ mix: recipient> </ mix: micr-ref> <mix: ref-versions /> </ mix: document>
<Desc/Clms Page number 159><Desc / Clms Page number 159>
Observer les n#uds mix :ref-versions qui permettent de regrouper plusieurs versions d'un fragment. Observe the mix nodes: ref-versions that make it possible to group several versions of a fragment.
<Desc/Clms Page number 160><Desc / Clms Page number 160>
Le "diagramme de collaboration (en notation UML) de la figure F7 illustre le procédé au moyen d'un scénario d'utilisation et décrit le fait que la décomposition est réalisée par deux composants (ou services) - Micr et Macr - qui dans cet exemple sont respectivement installés sur un Serveur Web et un serveur dédié au système appelé Serveur Mix . Ces deux composants sont pilotés par une application (ici une page ASP+ ) faisant appel au service Micr qui lui-même fait appel au service Macr. The "collaboration diagram (in UML notation) of Figure F7 illustrates the method by means of a usage scenario and describes the fact that the decomposition is carried out by two components (or services) - Micr and Macr - which in this Examples are respectively installed on a Web Server and a server dedicated to the system called Mix Server These two components are driven by an application (here an ASP + page) using the Micr service which itself uses the Macr service.
L'application, en appelant la méthode PutXMLDoc() du service Micr , ordonne l'enregistrement des trois microstructures du document sur le Serveur Web, et sa macrostructure sur le Serveur Mix . The application, by calling the PutXMLDoc () method of the Micr service, orders the recording of the three microstructures of the document on the Web Server, and its macrostructure on the Mix Server.
Le client peut retrouver son document au moyen du procédé décrit dans le diagramme de collaboration de la figure F8. The customer can retrieve his document using the method described in the collaboration diagram of Figure F8.
L'application (la page ASP+) appelle la méthode GetXMLDoc() du service Micr qui lui retourne alors le document XML suivant qu'il a pu recomposer à partir de la macrostructure du document et des trois microstructures sus-mentionnées : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http ://platform1.net/share?doc-id=9" mix-fragment-src="http://platform1.net/share?id=53"> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="0">
<produit mix-fragment-src="http://platforml.net/share?id=54"> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> <illustration src="img/photo1.gif"/> </produit>
<produit mix-fragment-src="http://platforml.net/share?id=55"> <nom>Chemisier argent</nom> <prix>790Frs</prix> <description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif"/> </produit> </produits> </catalogue> The application (the ASP + page) calls the GetXMLDoc () method of the Micr service, which then returns the following XML document that it was able to recompose from the macrostructure of the document and the three microstructures mentioned above: <catalog season = "spring-summer" year = "2001" mix-document-src = "http: //platform1.net/share? doc-id = 9" mix-fragment-src = "http://platform1.net/share? id = 53 "><intro> New creations by famous couturier Fernand Durand </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@lemail.com </ mail ></author><products mix-recipient-number = "0">
<product mix-fragment-src = "http://platforml.net/share?id=54"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool < / description><illustration src = "img / photo1.gif"/></product>
<product mix-fragment-src = "http://platforml.net/share?id=55"><name> Silver blouse </ name><price> 790Frs </ price><description> Silk from China, light and soft </ description><illustration src = "img / photo2.gif"/></product></products></catalog>
<Desc/Clms Page number 161><Desc / Clms Page number 161>
Section Opérations sur les fragments On va décrire successivement les cas de création d'un nouveau fragment, l'importation d'un fragment distant et la modification d'un fragment. Section Fragment Operations We will successively describe the cases of creation of a new fragment, the import of a remote fragment and the modification of a fragment.
Le poste client apporte des modifications (ici : ajout d'un noeud produit ) et renvoie cette source à l'application : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http://platforml.net/share?id=9" mix-fragment-src="http://platforml.net/share?id=53 "> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="0"> <produit mix-fragment-src="http://platforml.net/share?id=54"> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> </produit>
<produit mix-fragment-src http://platForml.net/share?id=55"> <nom>Chemisier argent</nom> <prix>790Frs </prix> <description>Soie de Chine, légère et douce</description> </produit> <produit> <nom>Pull Orange</nom> <prix>1590Frs</prix> <descnption>Cachemire à 99%</description> <illustration src="img/photo3.gif"/> </produit> </produits> </catalogue> L'application peut réaliser les modifications de la façon décrite dans le diagramme de collaboration de la figure F10. En appelant la méthode PutXMLDoc() du service Micr , l'application enregistre la nouvelle microstructure du document sur le Serveur Web, et met à jour la macrostructure sur le Serveur Mix . The client station makes changes (here: adding a product node) and returns this source to the application: <catalog season = "spring-summer" year = "2001" mix-document-src = "http: // platforml.net/share?id=9 "mix-fragment-src =" http://platforml.net/share?id=53 "><intro> New creations of the famous couturier Fernand Durand. </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@lemail.com </ mail></author><products mix-recipient-number = "0"><product mix-fragment- src = "http://platforml.net/share?id=54"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool </ description></ product >
<product mix-fragment-src http://platForml.net/share?id=55 "><name> Silver blouse </ name><price> 790Frs </ price><description> Chinese silk, light and soft < / description></product><product><name> Orange Sweater </ name><price> 1590Frs </ price><descnption> 99% Cashmere </ description><illustration src = "img / photo3.gif" / ></product></products></catalog> The application can make the changes as described in the collaboration diagram in figure F10. By calling the PutXMLDoc () method of the Micr service, the application registers the new microstructure of the document on the Web Server, and update the macrostructure on the Mix Server.
La nouvelle version de la macrostructure est la suivante : <mix:document id="9"> <mix:ref-versions fragmentId ="53"> <mix:micr-ref v="0" src="local:// 26"> <mix:recipient n="0"> The new version of the macrostructure is as follows: <mix: document id = "9"> <mix: ref-versions fragmentId = "53"> <mix: micr-ref v = "0" src = "local: // 26 "> <mix: recipient n =" 0 ">
<Desc/Clms Page number 162><Desc / Clms Page number 162>
<mix:ref-versions fragmentld ="54"> <mix:micr-ref v="0" src="local:// 27"/> <mix:ref-versions/> <mix:ref-versions fragmentId ="55"> <mix:micr-ref v="0" src="local:// 28"/> <mix:ref-versions/> </mix:recipient> </mix:micr-ref> <mix:micr-ref v="1" src="local:// 26"> <mix:recipient n="0"> <mix:ref-versions fragmentId ="54"> <mix:micr-ref v="0" src="local://27"/> <mix: ref-versions/> <mix:ref-versions fragmentId ="55"> <mix:micr-ref v="0" src="local://28"/> <mix:ref-versions/> <mix:ref-versions fragmentId ="56"> <mix:micr-ref v="0" src="local://29"/> <mix:ref-versions/> </mix:recipient> </mix:micr-ref> <mix: ref-versions/> </mix:document> Alternativement, le procédé pourrait être celui de la figure F10. La page ASP+, sachant quel est le récipient dans lequel on ajoute le nouveau fragment, lance la mise-à-jour directement. <mix: rem-versions fragmentld = "54"> <mix: micr-ref v = "0" src = "local: // 27" /> <mix: rem-versions /> <mix: rem-versions fragmentId = "55"> <mix: micr-ref v = "0" src = "local: // 28" /> <mix: rem-versions /> </ mix: recipient> </ mix: micr-ref> <mix : micr-ref v = "1" src = "local: // 26"> <mix: recipient n = "0"> <mix: rem-versions fragmentId = "54"> <mix: micr-ref v = " 0 "src =" local: // 27 "/> <mix: ref-versions /> <mix: rem-versions fragmentId =" 55 "> <mix: micr-ref v =" 0 "src =" local: / / 28 "/> <mix: ref-versions /> <mix: ref-versions fragmentId =" 56 "> <mix: micr-ref v =" 0 "src =" local: // 29 "/> <mix: ref-versions /> </ mix: recipient> </ mix: micr-ref> <mix: ref-versions /> </ mix: document> Alternatively, the process could be that of figure F10. The ASP + page, knowing which is the container into which the new fragment is added, starts the update directly.
Cas de l'importation : Le client veut insérer dans son document un n#ud provenant d'une autre plateforme Mix : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http ://platform1.net/share?id=9" mix-fragment-src="http://platform1.net/share?id=53 "> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="0"> <produit mix-fragment-src="http://platform1.net/share?id=54"> <nom>Short Bunias</nom> <prix>590Frs</prix> <description>Laine vierge à 100%</description> </produit> <produit mix-fragment-src="http://platforml.net/share?id=55"> <nom>Chemisier argent</nom> <prix>790Frs </prix> <description>Soie de Chine, légère et douce</description> </produit>
<produit mix-fragment-src="http://platforml.net/share?id=58"> <nom>Pull Orange</nom> <prix> 1590Frs</prix> <description>Cachemire à 99%</description> Case of the import: The customer wants to insert in his document a node from another platform Mix: <catalog season = "spring-summer" year = "2001" mix-document-src = "http: // platform1.net/share?id=9 "mix-fragment-src =" http://platform1.net/share?id=53 "><intro> New creations by famous couturier Fernand Durand. </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@lemail.com </ mail></author><products mix-recipient-number = "0"><product mix-fragment- src = "http://platform1.net/share?id=54"><name> Short Bunias </ name><price> 590Frs </ price><description> 100% virgin wool </ description></ product ><product mix-fragment-src = "http://platforml.net/share?id=55"><name> Silver blouse </ name><price> 790Frs </ price><description> Silk from China, light and sweet </ description></product>
<product mix-fragment-src = "http://platforml.net/share?id=58"><name> Orange Sweater </ name><price> 1590Frs </ price><description> 99% Cashmere </ description>
<Desc/Clms Page number 163><Desc / Clms Page number 163>
<illustration src="img/photo3.gif"/> </produit>
<produitmix-fragment-src="http://platform2.net/share?id=75"/> </produits> </catalogue> Dans cet exemple, le fragment importé réside dans d'autres serveurs : un serveur Web n 2 contient la microstructure et un serveur Mix n 2 contient la macrostructure qui pointe sur cette dernière. L'application peut réaliser l'importation au moyen d'un appel PutXMLDoc comme décrit dans le diagramme de collaboration de la figure FI 1 : Alternativement, l'insertion du fragment importé peut être directement (ou via le service Micr comme dans la figure ci-dessous) commandé au service Macr qui gère la macrostructure. <illustration src = "img / photo3.gif"/></product>
<productmix-fragment-src = "http://platform2.net/share?id=75"/></products></catalog> In this example, the imported fragment resides in other servers: a Web server n 2 contains the microstructure, and a Mix 2 server contains the macrostructure that points to it. The application can perform the import by means of a PutXMLDoc call as described in the collaboration diagram of figure FI 1: Alternatively, the insertion of the imported fragment can be directly (or via the Micr service as in the figure below). below) ordered to the Macr service that manages the macrostructure.
Cas de modification d'un fragment existant : Le client peut modifier un n#ud d'un document XML, par exemple modifier le prix du Short Bunias : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http ://platform1.net/share?id=9" mix-fragment-src="http://platforml.net/share?id=53 "> <intro>Nouvelles créations du célèbre couturier Fernand Durand.</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <produits mix-recipient-number="0">
<produitmix-fragment-src="http>.//platforml.net/share?id=54"> <nom>Short Bunias</nom> <prix>690Frs</prix> <description>Laine vierge à 100%</description> </produit>
<produit mix-fragment-src "http://platforml.net/share?id=55"> <nom>Chemisier argent</nom> <prix>790Frs </prix> <description>Soie de Chine, légère et douce</description> </produit>
<produit mix-fragment-src="http://platforml.net/share?id=58"> <nom>Pull Orange</nom> <prix>1590Frs</prix> <description>Cachemire à 99%</description> <illustration src="img/photo3.gif"/> </produit>
<produit mix-fragment-src"http://platForm2.netJshare?id=75"/> </produits> </catalogue> Une nouvelle version de la microstructure est alors créée, par exemple comme décrit dans le diagramme de collaboration de la figure F13. Case of modification of an existing fragment: The customer can modify a node of an XML document, for example modify the price of Short Bunias: <catalog season = "spring-summer" year = "2001" mix-document- src = "http: //platform1.net/share?id=9" mix-fragment-src = "http://platforml.net/share?id=53"><intro> New creations by famous couturier Fernand Durand. </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd@lemail.com </ mail></author><products mix-recipient-number = "0">
<productmix-fragment-src = "http> .// platforml.net/share?id=54"><name> Short Bunias </ name><price> 690Frs </ price><description> 100% virgin wool < / description></product>
<product mix-fragment-src "http://platforml.net/share?id=55"><name> Silver blouse </ name><price> 790Frs </ price><description> Silk from China, light and soft </ description></product>
<product mix-fragment-src = "http://platforml.net/share?id=58"><name> Orange Sweater </ name><price> 1590Frs </ price><description> 99% Cashmere </ description><illustration src = "img / photo3.gif"/></product>
<product mix-fragment-src "http: //platForm2.netJshare? id = 75"/></products></catalog> A new version of the microstructure is created, for example as described in the collaboration diagram of Figure F13.
<Desc/Clms Page number 164><Desc / Clms Page number 164>
Dans une autre configuration, certains services Micr peuvent être dans un Serveur Mix au lieu de se trouver dans un serveur Web. Un exemple très simple de ce cas de figure est illustré dans le diagramme de collaboration de la figure ci-dessous. In another configuration, some Micr services may be in a Mix Server instead of being in a Web server. A very simple example of this case is illustrated in the diagram of collaboration of the figure below.
Section Mécanismes depropagation de versions et de suggestion Les microstructures et les fragments peuvent avoir des numéro de version pour permettre d'accéder à une version déterminée malgré leur évolution. Dans un document dans sa forme brute, on peut préciser la version d'une microstructure dans l'attribut mix-micr-src et la version d'un fragment dans l'attribut mix-fragment-src. On va illustrer ci-dessous le cas d'une version précisée pour un fragment : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http ://platform1.net/share?doc-id=2150"
mix-fragment-src="http://platforml.netyshare?id=3215640&v=0"> [...] <produits mix-recipient-number="l"> [...]
<produit mtx-fragment-src"http://platform2.net/shareid=1825473&v=1"/> </produits> </catalogue> Dans cet exemple, on importe un fragment produit qui est disponible à l'adresse http://platform2.net/share?id=1825473&v=1 . A cette adresse on peut trouver : <mix:ref-versions fragmentld ="1825473"> <mix:micr-ref v="0" src="local://3215660,0"> [...] </mix:micr-ref> <mix:micr-ref v="1" src="local://3215660,1"> [...] </mix:micr-ref> </mix:ref-versions> La macrostructure du document qui importe donc ce fragment à sa version 1 est la suivante . Propagation Versions and Suggestions Mechanism Microstructures and fragments may have version numbers to allow access to a given version despite their evolution. In a document in its raw form, one can specify the version of a microstructure in the mix-micr-src attribute and the version of a fragment in the mix-fragment-src attribute. We will illustrate below the case of a specified version for a fragment: <catalog season = "spring-summer" year = "2001" mix-document-src = "http: //platform1.net/share? Doc- id = 2150 "
mix-fragment-src = "http: //platforml.netyshare? id = 3215640 & v = 0"> [...] <products mix-recipient-number = "l"> [...]
<product mtx-fragment-src "http://platform2.net/shareid=1825473&v=1"/></products></catalog> In this example, we import a product fragment that is available at http: //platform2.net/share?id=1825473&v=1. At this address we can find: <mix: ref-versions fragmentid = "1825473"><mix: micr-ref v = "0" src = "local: // 3215660,0"> [...] </ mix : micr-ref><mix: micr-ref v = "1" src = "local: // 3215660,1"> [...] </ mix: micr-ref></ mix: ref-versions> The The macrostructure of the document that imports this fragment to version 1 is as follows.
Noter qu'en local, c'est la version 0 d'un fragment qui va être créé. Note that locally, it is the version 0 of a fragment that will be created.
<mix:document id="2150" > <mix:ref-versions fragmentld ="123456"> <mix:micr-ref v="0"src="local://3215640,0"> <mix:recipient n="0"> [...] <mix:ref-versions fragmentId ="3215645"> <mix:fragment-ref v="0" src=" http://platform2.net/share?id=1825473,1"/> </mix:ref-versions > </mix:recipient> </mix:micr-ref> <mix: document id = "2150"> <mix: rem-versions fragmentld = "123456"> <mix: micr-ref v = "0" src = "local: // 3215640,0"> <mix: recipient n = "0"> [...] <mix: fragments-ref fragmentId = "3215645"> <mix: fragment-ref v = "0" src = "http://platform2.net/share?id=1825473, 1 "/> </ mix: ref-versions> </ mix: recipient> </ mix: micr-ref>
<Desc/Clms Page number 165><Desc / Clms Page number 165>
</mix:ref-versions> </mix:document> Le document recomposé est le suivant : <catalogue saison="printemps-ete" annee="2001" mix-document-src="http://platforml.net/share?doc-id=2150"
mix-f ragment-src="http://platform 1 . net/share?id =3215640&v=0"> <produitsmix-recipient-number="l"> [...] <produit mix-fragment-src="http://platforml.net/share?id=3215645&v=O" mix-sourcefragment-version="1,3"> [...] <produit /> </produits> </catalogue> On remarquera deux modifications apportées par le système : 1. le fragment est maintenant celui contenu dans la propre macrostructure du document, la version indiquée est celle de ce dernier et non pas la version du fragment à la source de l'importation ; 2. un attribut mix-sourcefragment-version (ou mix-sourcemicr-version dans le cas de l'importation d'une microstructure) a été ajouté ; cet attribut a 2 valeurs, le numéro de la version importée et le numéro de la version la plus récente. </ mix: ref-versions></ mix: document> The recompiled document is: <catalog season = "spring-summer" year = "2001" mix-document-src = "http://platforml.net/ share? doc-id = 2150 "
mix-f ragment-src = "http: // platform 1. net / share? id = 3215640 & v = 0"><productsmix-recipient-number = "l"> [...] <product mix-fragment-src = "http://platforml.net/share?id=3215645&v=O" mix-sourcefragment-version = "1,3"> [...] <product /></products></catalog> There will be two changes brought by the system: 1. the fragment is now the one contained in the document's own macrostructure, the version indicated is that of the latter and not the version of the fragment at the source of the import; 2. A mix-sourcefragment-version attribute (or mix-sourcemicr-version in the case of importing a microstructure) has been added; this attribute has 2 values, the number of the imported version and the number of the most recent version.
Dès que le fragment (dont la version compte ) est modifié sur le poste client, par exemple en y insérant un sous-fragment, les sous-fragments du fragment importé sont reproduit dans la macrostructure et les modifications sont insérées par la suite sous forme d'ajout de version. As soon as the fragment (whose version account) is modified on the client computer, for example by inserting a sub-fragment, the sub-fragments of the imported fragment are reproduced in the macrostructure and the modifications are subsequently inserted in the form of a sub-fragment. addition of version.
Comme l'ancienne version d'un fragment (ou sous-fragment) modifié peut être utilisé par un autre document, on ne peut pas la supprimer directement. Un compteur d'importation y est attaché, et elle n'est supprimé que quand ce compteur passe à zéro (après la décrémentation provoquée par la suppression de la dernière référence). De même, un compteur d'importation est associé aux microstructures et une ancienne version d'une microstructure ne peut être supprimée qu'à partir du moment où il n'existe plus de référence sur elle. Since the old version of a modified fragment (or sub-fragment) can be used by another document, it can not be deleted directly. An import counter is attached to it, and it is only deleted when this counter goes to zero (after the decrement caused by the deletion of the last reference). Likewise, an import counter is associated with the microstructures and an old version of a microstructure can only be deleted once there is no reference on it.
La figure ci-dessous illustre l'ajout d'une version du fragment en question dans la macrostructure.
The figure below illustrates the addition of a version of the fragment in question in the macrostructure.
<mix:document id"2150" xmlns:mix"http://linkdeal.net/schemas/document"> <mix:ref-versions fragmentId ="123456"> <mix:micr-ref v="0"src="local://3215640,0"> <mix: id document "2150" xmlns: mix "http://linkdeal.net/schemas/document"> <mix: rem-versions fragmentId = "123456"> <mix: micr-ref v = "0" src = "local: // 3215640.0">
<Desc/Clms Page number 166><Desc / Clms Page number 166>
<mix:recipient n="0"> <mix:ref-versions fragmentld ="3215645"> <mix:fragment-ref v="0" src=" http://platform2.net/share?id=1825473,1"/> <mix:micr-ref v="1" src="local://1936021,0"/> </mix:ref-versions> </mix:recipient> </mix:micr-ref> </mix:ref-versions> </mix:document> Pour cette nouvelle macrostructure, le document recomposé est le même à l'exception de la nouvelle version du n#ud <produit> : <catalogue> [...]
<produit mix-fragment-src="http://platForml.net/share?id=3215645&v=1"> [...] </catalogue> Dans le cas où la version compte , les attributs mix-sourcefragment-version et mixsourcemicr-version (dans le cas de l'importation d'une microstructure), par le fait qu'elles ont 2 valeurs (le numéro de la version importée et le numéro de la version la plus récente) permettent de suggérer la version la plus récente quand elle est différente de la version (volontairement précisée) qui avait est importée. <mix: recipient n = "0"><mix: rem-versions fragmentld = "3215645"><mix: fragment-ref v = "0" src = "http://platform2.net/share?id=1825473, 1 "/><mix: micr-ref v =" 1 "src =" local: // 1936021,0 "/></ mix: rem-versions></ mix: recipient></ mix: micr-ref></ mix: ref-versions></ mix: document> For this new macrostructure, the re-formatted document is the same except for the new version of the n # ud <product>: <catalog> [...]
<product mix-fragment-src = "http://platForml.net/share?id=3215645&v=1"> [...] </ catalog> In case the version counts, the attributes mix-sourcefragment-version and mixsemicr-version (in the case of import of a microstructure), by the fact that they have 2 values (the number of the imported version and the number of the most recent version) make it possible to suggest the version the more recent when it is different from the version (voluntarily specified) that was imported.
Section Importation de fragments en HTML Au moment de l'accès à ladite page HTML, cette dernière est soit directement traduite en XHTML afin d'être compatible avec le système d'affichage basé sur les feuilles de style, soit une autre transformation est lancée au préalable : il peut par exemple être nécessaire de la miniaturiser pour la faire rentrer dans l'espace d'affichage disponible. Import HTML Fragments section At the time of access to the HTML page, the HTML page is either directly translated into XHTML to be compatible with the style sheet-based display system, or another transformation is launched at the same time. preliminary: it may for example be necessary to miniaturize it to fit into the available display space.
Noter qu'un fragment XHTML n'a pas de n#ud ayant un attribut récipient et ne servira donc pas à accueillir des sous-fragments. Note that an XHTML fragment does not have a node with a container attribute and will not be used to accommodate sub-fragments.
Si la version compte, la version en XHTML de la page est sauvegardée sous la forme d'une microstructure. If the version counts, the XHTML version of the page is saved as a microstructure.
L'utilisateur peut directement importer, sous un n#ud récipient, n'importe quelle page HTML du Web. Par défaut, aucune microstructure en XML n'est mémorisée pour ladite page HTML, et c'est son URL qui est inséré dans la macrostructure. The user can directly import, under a container, any HTML page of the Web. By default, no XML microstructure is stored for the HTML page, and its URL is inserted into the macrostructure.
<Desc/Clms Page number 167> <Desc / Clms Page number 167>
Dans l'exemple ci-dessous nous avons deux pages Web www.sitel.com et www. site2.com qui ont été importés. Deux transformations ont été spécifiées pour la présentation de la deuxième page : Web service (il s'agit par exemple de laminiaturiser pour la faire rentrer dans l'espace d'affichage disponible) et une feuille de style XSL. In the example below we have two web pages www.sitel.com and www. site2.com that have been imported. Two transformations were specified for the presentation of the second page: Web service (it is for example to laminate it to fit in the available display space) and an XSL style sheet.
<bookmarks mix-fragment-src="http ://platform1.net/share?id=0" mix-micrlocalstyle-src="http//plateform1. net/xsl1.xsl" mix-localstyle-preferred="micr" > <intro>Mes pages préférées</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd#lemail.com</mail> </auteur> <pages mix-recipient-number="0"> <html mix-fragment-src="http://www.site1.com" > </html> <html mix-fragment-src="http://www.site2.com" mix-fragmentlocalstyle-src="[ webservice: url='http://foo.com/mini.asmx', method='getHTML', params='doc,date', values='@ @mix-fragment-src,@@ DATE'], http//plateform1. net/html-thumbnails.xsl" mix-localstyle-preferred="fragment" > </html> </pages> </bookmarks> La décomposition de ce document résulte en la macrostructure suivante: <mix:document id="9"> <mix:ref-versions fragmentId="53"> <mix:micr-ref v="0" src="local://26" micrlocalstyle-src="http//plateforml.net/xsll.xsl" localstyle-preferred="micr"> <mix:recipient n="0"> <mix: ref-versions fragmentId ="54" localstyle-preferred="fragment" fragmentlocalstyle-src="http//plateforml.net/xhtml-raw.xsl"> <mix:micr-ref v="0" src="http://www.sitel.com"/> <mix:ref-versions/> <mix:ref-versions fragmentId ="55" localstyle-src=" webservice : url='http://foo.com/mini.asmx', method='getHTML', <bookmarks mix-fragment-src = "http: //platform1.net/share?id=0" mix-micrlocalstyle-src = "http // platform1 .net / xsl1.xsl" mix-localstyle-preferred = "micr" > <intro> My favorite pages </ intro> <author> <name> Durand </ name> <firstname> Fernand </ firstname> <mail> fd # lemail.com </ mail> </ author> <pages mix- recipient-number = "0"> <html mix-fragment-src = "http://www.site1.com"> </ html> <html mix-fragment-src = "http://www.site2.com "mix-fragmentlocalstyle-src =" [webservice: url = 'http: //foo.com/mini.asmx', method = 'getHTML', params = 'doc, date', values = '@ @ mix-fragment- src, @@ DATE '], http // platform1. net / html-thumbnails.xsl "mix-localstyle-preferred =" fragment "> </ html> </ pages> </ bookmarks> The decomposition of this document results in the following macrostructure: <mix: document id = "9"> <mix: ref-versions fragmentId = "53"> <mix: micr-ref v = "0" src = "local: // 26" micrlocalstyle-src = "http // platformforml.net / xsll.xsl" localstyle-preferred = "micr"> <mix: recipient n = "0"> <mix: rem-versions fragmentId = "54" localstyle-prefer red = "fragment" fragmentlocalstyle-src = "http // platformforml.net / xhtml-raw.xsl"> <mix: micr-ref v = "0" src = "http://www.sitel.com" /> <mix: ref-versions /> <mix: ref-versions fragmentId = "55" localstyle-src = "webservice: url = 'http: //foo.com/mini.asmx', method = 'getHTML',
<Desc/Clms Page number 168><Desc / Clms Page number 168>
params='doc,date', values='##mix-fragment-src,##DATE'; http//plateform1. net/html-thumbnails.xsl" localstyle-preferred="fragment"> <mix:micr-ref v="0" src="http://www.site2.com"/> <mix:ref-versions/> </mix:recipient> </mix: micr-ref> <mix:ref-versions/> </mix:document> La seule microstructure qui ait été mémorisée est la suivante : <mix:micr id="26" micrlocalstyle-src="http//plateform1.net/xsl1.xsl"> <bookmarks> <intro> Mes pages préférées</intro> <auteur> <nom>durand</nom> <prenom>fernand</prenom> <mail>fd@lemail.com</mail> </auteur> <pages mix-recipient-number="0"></ pages > </bookmarks> </mix:micr> En effet, aucune version n'ayant été spécifiée, les deux pages HTML sont destinées à être retrouvées directement de leurs sources. Alternativement, un fragment HTML pourrait être mémorisé sous forme de microstructure de la manière suivante : <mix:micr id="55"> <mix:micr-version v='0'> <html>... params = 'doc, date', values = '## mix-fragment-src, ## DATE'; http // plateform1. net / html-thumbnails.xsl "localstyle-preferred =" fragment "> <mix: micr-ref v =" 0 "src =" http://www.site2.com "/> <mix: rem-versions /> </ mix: recipient> </ mix: micr-ref> <mix: ref-versions /> </ mix: document> The only microstructure that has been stored is: <mix: micr id = "26" micrlocalstyle- src = "http // platformform1.net / xsl1.xsl"> <bookmarks> <intro> My favorite pages </ intro> <author> <name> durand </ name> <firstname> fernand </ firstname> <mail> fd@lemail.com </ mail> </ author> <pages mix-recipient-number = "0"> </ pages> </ bookmarks> </ mix: micr> Indeed, no version has been specified, the two HTML pages are intended to be found directly from their sources Alternatively, an HTML fragment could be memorized as a microstructure in the following way: <mix: micr id = "55"> <mix: micr-version v = ' 0 '> <html> ...
... (tout le code xhtml de la page www. site2.com ) </html> </mix:micr-version> </mix: micr> Le document recomposé est le suivant : <bookmarks mix-fragment-src="http ://platform1.net/share?id=0"
mi x- mi crloca [style- src ='http//pl ateform 1. net/xsl 1. xsl" mix-localstyle-preferred="micr" > <intro>Mes pages préférées</intro> <auteur> <nom>Durand</nom> <prenom>Fernand</prenom> <mail>fd#lemail.com</mail> </auteur> < pages mix-recipient-number="0"> <html mix-fragment-src="http://plateformel.net/share?id=54"
mix-fragmentlocalstyle-src="http//plateforml.net/xhtml-raw.xsr mix-localstyle-preferred="fragment" > ... (all the xhtml code of the page www .site2.com) </ html></ mix: micr-version></ mix: micr> The recomposed document is the following: <bookmarks mix-fragment-src = "http: //platform1.net/share? id = 0"
mi x- mi crloca [style-src = 'http // pl ateform 1. net / xsl 1.xsl "mix-localstyle-preferred =" micr "><intro> My favorite pages </ intro><author><name> Durand </ name><firstname> Fernand </ firstname><mail> fd # lemail.com </ mail></author><pages mix-recipient-number = "0"><html mix-fragment-src = "http://plateformel.net/share?id=54"
mix-fragmentlocalstyle-src = "http // platformforml.net / xhtml-raw.xsr mix-localstyle-preferred =" fragment ">
<Desc/Clms Page number 169><Desc / Clms Page number 169>
... (tout le code xhtml de la page www.sitel.com ) </html> <html mix-fragment-src="http://plateformel.net/share?id=55" mix-fragmentlocalstyle-src="[ webservice: url='http://foo.com/mini.asmx', method='getHTML', params='doc,date', values='##mix-fragment-src,##DATE'], http//plateform1. net/html-thumbnails.xsl" mix-localstyle-preferred="fragment" > ... (tout le code xhtml de la page www. site2.com ) </html> </pages> </bookmarks> Le résultat des différentes transformations d'un fragment sont mémorisé dans un cache dans le cas où l'attribut mix-localstyle-cached est déclaré pour ledit fragment dans le document. Un fragmenta macrostructure contiendra alors une référence au cache, au moyen d'un n#ud <mix:document id="9"> <mix:ref-versions fragmentId="53"> <mix:micr-ref v="0" src="local://26" micrlocalstyle-src="http//plateform1. net/xsl1.xsl" localstyle-preferred="micr"> <mix:recipient n="0"> <mix:ref-versions fragmentId ="54" localstyle-preferred="fragment" fragmentlocalstyle-src="http//plateforml.net/xhtml-raw.xsl"> <mix:micr-ref v="0" src="http://www.sitel.com"/> <mix:ref-versions/> <mix:ref-versions fragmentId ="55" localstyle-src=" webservice : url='http://foo.com/mini.asmx', method='getHTML', params='doc,date', values='##mix-fragment-src,##DATE'; http//plateforml. net/html-thumbnails.xsl" localstyle-preferred="fragment"> <mix:micr-ref v="0" src="http://www.site2.com"> <mix:localstyle-cache src="file ://%mix-cache%/55/data-0.dat" mime-type="image/jpeg"/> <mix:micr-ref/> <mix:ref-versions/> </mix:recipient> </mix:micr-ref> <mix:ref-versions/> </mix:document> ... (all the xhtml code of the page www.sitel.com) </ html> <html mix-fragment-src = "http://plateformel.net/share?id=55" mix-fragmentlocalstyle-src = "[webservice: url = 'http: //foo.com/mini.asmx', method = 'getHTML', params = 'doc, date', values = '## mix-fragment-src, ## DATE'] , http // plateform1.net / html-thumbnails.xsl "mix-localstyle-preferred =" fragment "> ... (all the xhtml code of the page www .site2.com) </ html> </ pages> < / bookmarks> The result of different transformations of a fragment are stored in a cache in case the attribute mix-localstyle-cached is declared for that fragment in the document. A fragmenta macrostructure will then contain a reference to the cache, by means of a node # mix: document id = "9"> <mix: ref-versions fragmentId = "53"> <mix: micr-ref v = "0 "src =" local: // 26 "micrlocalstyle-src =" http // platform1. net / xsl1.xsl "localstyle-preferred =" micr "> <mix: recipient n =" 0 "> <mix: versions fragmentId = "54" localstyle-preferred = "fragment" fragmentlocalstyle-src = "http // platformforml.net / xhtml-raw.xsl"> <mix: micr-ref v = "0" src = "http: // www .sitel.com "/> <mix: ref-versions /> <mix: ref-versions fragmentId =" 55 "localstyle-src =" webservice: url = 'http: //foo.com/mini.asmx', method = 'getHTML', params = 'doc, date', values = '## mix-fragment-src, ## DATE'; http // platform.lt / html-thumbnails.xsl "localstyle-preferred =" fragment "> <mix: micr-ref v = "0" src = "http://www.site2.com"> <mix: localstyle-cache src = "file: //% mix-cache% / 55 / data-0. dat "mime-type =" image / jpeg "/> <mix: micr-ref /> <mix: ref-versions /> </ mix: recipient> </ mix: micr-ref> <mix: ref-versions / > </ mix: document>
<Desc/Clms Page number 170><Desc / Clms Page number 170>
Bien entendu, la présente invention n'est nullement limitée aux formes de réalisations décrites et représentées, mais l'homme du métier saura y apporter toute variante ou modification conforme à son esprit. En particulier, les caractéristiques de l'invention énoncées dans les différents chapitres et les différentes sections de ces chapitres peuvent être combinées de manières très diverses. Of course, the present invention is not limited to the embodiments described and shown, but the skilled person will be able to make any variant or modification within his mind. In particular, the features of the invention set forth in the different chapters and sections of these chapters can be combined in a wide variety of ways.
Claims (32)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0017327A FR2806184A1 (en) | 1999-11-10 | 2000-12-29 | Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9914151A FR2805373A1 (en) | 1999-11-10 | 1999-11-10 | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data |
FR0007815 | 2000-06-19 | ||
FR0017327A FR2806184A1 (en) | 1999-11-10 | 2000-12-29 | Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2806184A1 true FR2806184A1 (en) | 2001-09-14 |
Family
ID=27248680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0017327A Withdrawn FR2806184A1 (en) | 1999-11-10 | 2000-12-29 | Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2806184A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006108865A2 (en) | 2005-04-12 | 2006-10-19 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefor |
CN110232003A (en) * | 2019-05-20 | 2019-09-13 | 平安普惠企业管理有限公司 | Data reconstruction method, device, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999054834A1 (en) * | 1998-04-20 | 1999-10-28 | Sarnoff Corporation | Tracking and graphical display of user activity on an information network |
US5999929A (en) * | 1997-09-29 | 1999-12-07 | Continuum Software, Inc | World wide web link referral system and method for generating and providing related links for links identified in web pages |
-
2000
- 2000-12-29 FR FR0017327A patent/FR2806184A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999929A (en) * | 1997-09-29 | 1999-12-07 | Continuum Software, Inc | World wide web link referral system and method for generating and providing related links for links identified in web pages |
WO1999054834A1 (en) * | 1998-04-20 | 1999-10-28 | Sarnoff Corporation | Tracking and graphical display of user activity on an information network |
Non-Patent Citations (3)
Title |
---|
CARR L ET AL: "Open information services", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 28, no. 11, 1 May 1996 (1996-05-01), pages 1027 - 1036, XP004018205, ISSN: 0169-7552 * |
LALIBERTE D ET AL: "A protocol for scalable group and public annotations", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 27, no. 6, 1 April 1995 (1995-04-01), pages 911 - 918, XP004013194, ISSN: 0169-7552 * |
ROSCHEISEN M ET AL: "Beyond browsing: shared comments, SOAPs, trails, and on-line communities", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 27, no. 6, 1 April 1995 (1995-04-01), pages 739 - 749, XP004013176, ISSN: 0169-7552 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006108865A2 (en) | 2005-04-12 | 2006-10-19 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefor |
WO2006108865A3 (en) * | 2005-04-12 | 2007-06-28 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefor |
US8442996B2 (en) | 2005-04-12 | 2013-05-14 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefore |
US9076015B2 (en) | 2005-04-12 | 2015-07-07 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefore |
CN110232003A (en) * | 2019-05-20 | 2019-09-13 | 平安普惠企业管理有限公司 | Data reconstruction method, device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aranda et al. | From big data to rich theory: Integrating critical discourse analysis with structural topic modeling | |
Vossen et al. | Unleashing Web 2.0: From concepts to creativity | |
Bonzanini | Mastering social media mining with Python | |
Baca | Introduction to metadata | |
US9684724B2 (en) | Organizing search history into collections | |
WO2005045698A2 (en) | Method of producing a current view from at least one variable source information object in a computer environment | |
US20130325870A1 (en) | Using content | |
FR2947358A1 (en) | A CONSULTING ASSISTANT USING THE SEMANTIC ANALYSIS OF COMMUNITY EXCHANGES | |
WO2003057648A9 (en) | Methods and systems for searching and associating information resources such as web pages | |
WO2006108865A9 (en) | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefor | |
FR2840088A1 (en) | Search engine and database for distributed database in computer, has computing apparatus with transactional score generator and category assigner in communication with Internet cache of memory device | |
McNee | Meeting user information needs in recommender systems | |
FR2762460A1 (en) | SYSTEM INTENDED TO PROVIDE AN ENHANCED ENVIRONMENT AND USER INTERFACE FOR ONLINE DISCUSSION TECHNOLOGIES | |
WO2001035269A2 (en) | System for sharing data between at least two users on a computer network | |
Damianos et al. | Onomi: Social bookmarking on a corporate intranet | |
CA2538736A1 (en) | Data processing method based on simple element dynamic structures | |
Medynskiy et al. | Exploring websites through contextual facets | |
FR2806184A1 (en) | Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking | |
Navas | Modular complexity and remix: the collapse of time and space into search | |
Bae et al. | Patterns of reading and organizing information in document triage | |
WO2001095146A2 (en) | System for semi-automatic import of fragments of information resources | |
FR2807182A1 (en) | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data | |
FR2805376A1 (en) | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data | |
FR2807181A1 (en) | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data | |
FR2807180A1 (en) | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |