ES2948388T3 - Building Websites Using Data Lists - Google Patents

Building Websites Using Data Lists Download PDF

Info

Publication number
ES2948388T3
ES2948388T3 ES14763037T ES14763037T ES2948388T3 ES 2948388 T3 ES2948388 T3 ES 2948388T3 ES 14763037 T ES14763037 T ES 14763037T ES 14763037 T ES14763037 T ES 14763037T ES 2948388 T3 ES2948388 T3 ES 2948388T3
Authority
ES
Spain
Prior art keywords
view
content
elements
website
wbs
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.)
Active
Application number
ES14763037T
Other languages
Spanish (es)
Inventor
Amit Kaufman
Oren Hollander
Nadav Abrahami
Jiri Tobisek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wix com Ltd
Original Assignee
Wix com Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wix com Ltd filed Critical Wix com Ltd
Application granted granted Critical
Publication of ES2948388T3 publication Critical patent/ES2948388T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Alarm Systems (AREA)

Abstract

Un sistema de creación de sitios web (WBS) comprende: un conjunto de elementos de contenido que se mostrarán en un sitio web en construcción; un conjunto de vistas que pueden usarse para mostrar los elementos, siendo cada vista una plantilla para una sección de una página web de dicho sitio web; un módulo dinámico de coincidencia y adaptación para proporcionar dinámicamente una vista adecuada para cada elemento de contenido para mostrar el elemento de contenido en el sitio web. El módulo de adaptación y coincidencia dinámica realiza al menos uno de: localizar una vista coincidente del conjunto de vistas; construir una vista coincidente sobre la marcha; localizar una vista coincidente del conjunto de vistas y luego modificar la vista ubicada. (Traducción automática con Google Translate, sin valor legal)A website building system (WBS) comprises: a set of content elements to be displayed on a website under construction; a set of views that can be used to display the elements, each view being a template for a section of a web page of said website; a dynamic match and adapt module to dynamically provide a suitable view for each content item to display the content item on the website. The dynamic matching and adaptation module performs at least one of: locating a matching view from the set of views; build a matching view on the fly; Locate a matching view from the view set and then modify the located view. (Automatic translation with Google Translate, without legal value)

Description

DESCRIPCIÓNDESCRIPTION

Creación de sitios web utilizando listas de datosBuilding Websites Using Data Lists

Campo de la invenciónfield of invention

La presente invención se refiere al campo de la creación de sitios web.The present invention relates to the field of website creation.

AntecedentesBackground

Millones de usuarios utilizan Internet todos los días para leer o consumir contenido web. Por ejemplo, un usuario puede utilizar un ordenador personal, un ordenador portátil, un teléfono inteligente o una tableta, típicamente ejecutándose en un navegador, para leer noticias en línea, mirar vídeos en línea, interactuar con otros usuarios a través de redes sociales, jugar juegos en línea o similares.Millions of users use the Internet every day to read or consume web content. For example, a user may use a personal computer, laptop, smartphone or tablet, typically running in a browser, to read online news, watch online videos, interact with other users through social networks, play games online games or similar.

Algunos sitios web pueden construirse escribiendo código manualmente, particularmente código HTML y/o JavaScript. Sin embargo, a medida que los sitios web se han vuelto más sofisticados y ofrecen una experiencia de usuario más rica e interactiva, se han introducido diversas herramientas de "construcción de sitios web" para facilitar y/o automatizar la construcción de páginas web particulares e incluso sitios web completos.Some websites can be built by writing code manually, particularly HTML and/or JavaScript code. However, as websites have become more sophisticated and offer a richer and more interactive user experience, various "website building" tools have been introduced to facilitate and/or automate the construction of particular web pages and even entire websites.

Según el documento US 6 304 886 B1, se proporciona una herramienta de software para su uso con un sistema informático para simplificar la creación de sitios web. La herramienta comprende una pluralidad de plantillas almacenadas previamente, que comprenden código en formato HTML, texto, campos y fórmulas. Las plantillas corresponden preferiblemente a diferentes tipos de páginas web y otros rasgos característicos que se encuentran comúnmente en los sitios web o están disponibles para ellos. Cada rasgo característico puede tener diversas opciones. Para crear un sitio web, la herramienta solicita al creador del sitio web (la persona que usa la herramienta para crear un sitio web) a través de varias vistas almacenadas en la herramienta que seleccione los rasgos característicos y opciones deseadas para el sitio web. Basándose en estas selecciones, la herramienta solicita al creador del sitio web que suministre datos para introducir datos a los campos de las plantillas determinadas por la herramienta para que se correspondan con los rasgos característicos y opciones seleccionadas. Basándose en las plantillas identificadas y los datos suministrados, la herramienta genera el sitio web personalizado sin que el creador del sitio web escriba ningún código HTML u otro código de programación. A partir de la seguridad multinivel basada en roles, determinados usuarios del sitio web pueden tener acceso a determinada información y otros no. El documento WO 02/086704 A1 divulga un generador inteligente que permite al diseñador/desarrollador/usuario modelar los componentes Enterprise JavaBeans (EJB) de forma natural sin preocuparse por los detalles de implementación específicos. El desarrollador modela los objetos de negocio usando una herramienta de dibujo UML y el generador inteligente crea un conjunto de clases que implementa estos objetos con referencia a la especificación de Enterprise JavaBeans (véase la figura 1). Es decir, el generador inteligente crea automáticamente procedimientos de acceso y manejo de contención de referencias desde el diagrama UML.According to US 6 304 886 B1, a software tool is provided for use with a computer system to simplify the creation of websites. The tool comprises a plurality of pre-stored templates, comprising code in HTML format, text, fields and formulas. The templates preferably correspond to different types of web pages and other characteristic features commonly found on or available for websites. Each characteristic feature can have several options. To create a website, the tool asks the website creator (the person who uses the tool to create a website) through various views stored in the tool to select the desired characteristics and options for the website. Based on these selections, the tool prompts the website creator to provide data to enter data into the fields of the templates determined by the tool to correspond to the selected features and options. Based on the identified templates and supplied data, the tool generates the customized website without the website creator writing any HTML code or other programming code. Using multi-level role-based security, certain website users can have access to certain information and others cannot. WO 02/086704 A1 discloses an intelligent generator that allows the designer/developer/user to model Enterprise JavaBeans (EJB) components naturally without worrying about specific implementation details. The developer models the business objects using a UML drawing tool, and the intelligent generator creates a set of classes that implements these objects with reference to the Enterprise JavaBeans specification (see Figure 1). That is, the intelligent generator automatically creates reference contention handling and access procedures from the UML diagram.

CompendioCompendium

La presente invención puede comprender, por ejemplo, dispositivos, sistemas y procedimientos para la creación de sitios web utilizando listas de datos. La invención se expone en el conjunto de reivindicaciones adjuntas.The present invention may comprise, for example, devices, systems and methods for creating websites using data lists. The invention is set forth in the set of attached claims.

La presente invención proporciona un sistema de creación de sitios web (WBS) como se define en la reivindicación 1. The present invention provides a website building system (WBS) as defined in claim 1.

En algunas implementaciones, el sistema admite tipos de elementos; y por lo menos una vista en el conjunto de vistas está asociada con un tipo de elemento y puede usarse para visualizar elementos que pertenecen a dicho tipo de elemento.In some implementations, the system supports element types; and at least one view in the view set is associated with an item type and can be used to display items belonging to said item type.

En algunas implementaciones, el módulo de adaptación y composición dinámica realiza la composición de una vista con un elemento de contenido buscando la composición de una vista adecuada con un tipo de elemento de dicho elemento de contenido.In some implementations, the dynamic adaptation and composition module performs the composition of a view with a content element by searching for the composition of a suitable view with an element type of said content element.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de vistas para crear una vista que tenga uno o más elementos condicionales.In some implementations, for example, the WBS further comprises: a view manager for creating a view that has one or more conditional elements.

En algunas implementaciones, por ejemplo, dicho grupo de elementos de contenido contiene por lo menos una colección de elementos actualizable a través de por lo menos uno de: una interfaz de programación de aplicaciones (API) de actualización de la colección, un servicio web de actualización de la colección, una fuente RSS y una interfaz para la actualización de la colección en base a una fuente de datos externa.In some implementations, for example, said group of content items contains at least one collection of items updateable through at least one of: a collection update application programming interface (API), a web service collection update, an RSS feed and an interface for updating the collection based on an external data source.

En algunas implementaciones, por ejemplo, el WBS además comprende: un convertidor de vista/sitio web para utilizar una página de sitio web directamente como una vista de elementos de contenido.In some implementations, for example, the WBS further comprises: a website/view converter to use a website page directly as a content element view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo de asociación previa para asociar entre una vista dada y un elemento dado; en el que el módulo de adaptación y composición dinámica es para realizar una composición dinámica a partir de una asociación previa entre vistas y elementos. In some implementations, for example, the WBS further comprises: a pre-association module for associating between a given view and a given element; in which the adaptation and dynamic composition module is to perform a dynamic composition based on a previous association between views and elements.

En algunas implementaciones, por ejemplo, la asociación previa comprende la especificación explícita de la asociación previa entre el elemento dado y la vista dada.In some implementations, for example, preassociation comprises explicitly specifying the prior association between the given element and the given view.

En algunas implementaciones, por ejemplo, la asociación previa se basa en por lo menos uno de: un atributo de nombre, un atributo de contexto.In some implementations, for example, the preassociation is based on at least one of: a name attribute, a context attribute.

En algunas implementaciones, por ejemplo, el módulo de adaptación y composición comprende: un buscador de grupo de vistas para buscar, en un grupo de vistas predefinidas, una o más vistas que compongan un elemento dado. En algunas implementaciones, por ejemplo, el buscador de grupo de vistas comprende un buscador basado en palabras clave para encontrar composiciones entre vistas y elementos en base a una o más palabras clave.In some implementations, for example, the adaptation and composition module comprises: a view group finder to search, in a group of predefined views, one or more views that compose a given element. In some implementations, for example, the view group finder comprises a keyword-based finder for finding compositions between views and elements based on one or more keywords.

En algunas implementaciones, por ejemplo, el buscador de grupo de vistas comprende un buscador basado en atributos para encontrar composiciones entre vistas y elementos en base a uno o más composiciones de atributos. En algunas implementaciones, por ejemplo, el buscador de grupo de vistas comprende un buscador de composición de campos para encontrar composiciones entre vistas y elementos en base a uno o más campos de composición. En algunas implementaciones, por ejemplo, el buscador de grupo de vistas comprende un buscador de parámetros relacionados con una aplicación para encontrar composiciones entre vistas y elementos en base a uno o más parámetros relacionados con la aplicación.In some implementations, for example, the view group finder comprises an attribute-based finder for finding compositions between views and elements based on one or more attribute compositions. In some implementations, for example, the view group finder comprises a field composition finder for finding compositions between views and elements based on one or more composition fields. In some implementations, for example, the view group finder comprises an application-related parameter finder to find compositions between views and elements based on one or more application-related parameters.

En algunas implementaciones, por ejemplo, el módulo de adaptación y composición dinámica excluye uno o más candidatos de composición de vista teniendo en cuenta un factor de forma de un dispositivo electrónico que se usa para visualizar dicho sitio web.In some implementations, for example, the dynamic composition and adaptation module excludes one or more view composition candidates taking into account a form factor of an electronic device that is used to display said website.

En algunas implementaciones, por ejemplo, el sistema admite la herencia de vistas a través de un módulo de herencia de vista que puede generar una vista derivada que hereda características de una vista existente.In some implementations, for example, the system supports view inheritance through a view inheritance module that can generate a derived view that inherits characteristics of an existing view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un buscador de vista matriz para buscar hacia arriba una vista adecuada en un árbol de herencia de vista, si una vista dada no es adecuada para un contenido dado.In some implementations, for example, the WBS further comprises: a parent view finder to search up a suitable view in a view inheritance tree, if a given view is not suitable for a given content.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de vistas para crear automáticamente una vista derivada basada en un tipo de elemento.In some implementations, for example, the WBS further comprises: a view manager to automatically create a derived view based on an item type.

En algunas implementaciones, por ejemplo, el sistema admite la herencia de tipos de elementos a través de un módulo de herencia de tipos de elementos que puede generar un tipo de elemento derivado que hereda características de un tipo de elemento existente.In some implementations, for example, the system supports element type inheritance through an element type inheritance module that can generate a derived element type that inherits characteristics of an existing element type.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de vistas para crear automáticamente un tipo de elemento derivado basado en una vista derivada.In some implementations, for example, the WBS further comprises: a view manager to automatically create a derived item type based on a derived view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un buscador matriz para buscar hacia arriba en un árbol de herencia de tipos para localizar una composición de vista para un tipo matriz de un tipo de elemento dado.In some implementations, for example, the WBS further comprises: an array finder to search up a type inheritance tree to locate a view composition for an array type of a given element type.

En algunas implementaciones, por ejemplo, el módulo de adaptación y composición es para adaptar una vista localizada, que compone un tipo de elemento matriz, según las modificaciones realizadas desde dicho tipo de elemento matriz a un tipo de elemento derivado.In some implementations, for example, the adaptation and composition module is for adapting a localized view, which composes a parent element type, based on modifications made from said parent element type to a derived element type.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo de clasificación para clasificar posibles composiciones de vistas para un elemento de contenido dado.In some implementations, for example, the WBS further comprises: a classification module for classifying possible view compositions for a given content element.

En algunas implementaciones, por ejemplo, el módulo de clasificación aplica una clasificación a por lo menos uno de: composición de campos, composición de palabras clave, composición de atributos.In some implementations, for example, the classification module applies a classification to at least one of: field composition, keyword composition, attribute composition.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de prioridad de vistas para asignar un valor de prioridad a cada vista; en el que el módulo de composición dinámica es para encontrar múltiples composiciones de vistas candidatas, y para seleccionar entre dichas múltiples composiciones de vistas candidatas una única vista para su utilización en base a dicho valor de prioridad.In some implementations, for example, the WBS further comprises: a view priority manager for assigning a priority value to each view; wherein the dynamic composition module is for finding multiple candidate view compositions, and for selecting among said multiple candidate view compositions a single view for use based on said priority value.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de retrollamada para definir una retrollamada de clasificación de vista para seleccionar una vista para su utilización entre múltiples composiciones de vistas candidatas localizadas mediante el módulo de composición dinámica.In some implementations, for example, the WBS further comprises: a callback manager for defining a view classification callback for selecting a view for use among multiple compositions of candidate views located by the dynamic composition module.

En algunas implementaciones, por ejemplo, el módulo de composición dinámica es para encontrar múltiples composiciones de vistas candidatas y para activar un generador de interfaz de selección de usuario final para generar una interfaz de usuario de selección de usuario final que permita a un usuario final conmutar entre dichas múltiples composiciones de vistas candidatas.In some implementations, for example, the dynamic composition module is for finding multiple candidate view compositions and for triggering an end-user selection interface generator to generate an end-user selection user interface that allows an end user to switch among these multiple candidate view compositions.

En algunas implementaciones, por ejemplo, el elemento de contenido es visible usando una pantalla polimórfica que utiliza dos o más formatos de visualización que son conmutables por un usuario final; en el que la selección de usuario final de un formato de visualización particular en la visualización polimórfica afecta al emparejamiento de las vistas con los elementos de contenido.In some implementations, for example, the content item is viewable using a polymorphic display that uses two or more display formats that are switchable by an end user; where the end user's selection of a particular display format in polymorphic display affects the pairing of views with content elements.

En algunas implementaciones, por ejemplo, el WBS además comprende: un ejecutor de persistencia de elección de vista para ejecutar la persistencia entre las vistas de elementos secuenciales que se visualizan a partir de un conjunto dado de elementos del mismo tipo de elemento.In some implementations, for example, the WBS further comprises: a view choice persistence runner to execute persistence between views of sequential items that are displayed from a given set of items of the same item type.

En algunas implementaciones, por ejemplo, el módulo de adaptación y composición comprende: un constructor de vista dinámica para modificar dinámicamente un candidato de alta clasificación entre múltiples composiciones de vistas candidatas, para un elemento de contenido dado, si el módulo de adaptación y composición no encuentra ninguna composición de vista predefinida que componga dicho elemento de contenido con una puntuación de composición que es mayor que un valor umbral.In some implementations, for example, the adaptation and composition module comprises: a dynamic view constructor to dynamically modify a high-ranking candidate among multiple compositions of candidate views, for a given content element, if the adaptation and composition module does not finds no predefined view composition that composes that content element with a composition score that is greater than a threshold value.

En algunas implementaciones, por ejemplo, el módulo de adaptación y composición comprende: un constructor de vista dinámica para construir dinámicamente una vista, para un elemento de contenido dado, si el módulo de adaptación y composición no encuentra ninguna composición de vista predefinida que componga dicho elemento de contenido con una puntuación de composición que es mayor que un valor umbral.In some implementations, for example, the adaptation and composition module comprises: a dynamic view constructor to dynamically construct a view, for a given content element, if the adaptation and composition module does not find any predefined view composition that composes said content element. content item with a composition score that is greater than a threshold value.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo buscador/constructor integrado para buscar en un grupo de vistas predefinidas, encontrar una composición de vista y modificar dicha vista sobre la marcha para admitir una o más características de un elemento de contenido dado.In some implementations, for example, the WBS further comprises: an integrated finder/builder module to search a set of predefined views, find a view composition, and modify said view on the fly to support one or more features of a content item. given.

En algunas implementaciones, por ejemplo, el WBS además comprende: un divisor de regiones en la vista para dividir un visualizador en dos o más regiones que admiten dos o más elementos respectivos de dicho elemento de contenido. In some implementations, for example, the WBS further comprises: a view region splitter for dividing a display into two or more regions that support two or more respective elements of said content element.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo de ubicación de zona de llegada para ubicar un nuevo componente en una vista en base a una zona de llegada definida en relación con los componentes existentes de dicha vista.In some implementations, for example, the WBS further comprises: a landing zone location module for locating a new component in a view based on a landing zone defined relative to existing components of said view.

En algunas implementaciones, por ejemplo, el módulo de ubicación de zona de llegada es para seleccionar dicha zona de llegada adecuada en base a las propiedades de componentes que se van a ubicar.In some implementations, for example, the arrival zone location module is for selecting such a suitable arrival zone based on the properties of components to be located.

En algunas implementaciones, por ejemplo, el módulo de ubicación de zona de llegada genera automáticamente dicha zona de llegada en base a por lo menos uno de: final de contenedor, final de minipágina, final de contenedor que tiene un tipo dado, final de contenedor que tiene un atributo dado, seguido de una ubicación de una adición de campo reciente, en una ubicación que tiene por lo menos una cantidad dada de espacio vacío en la pantalla, en una página o minipágina recién creada.In some implementations, for example, the landing zone location module automatically generates the landing zone based on at least one of: end of container, end of minipage, end of container having a given type, end of container that has a given attribute, followed by a location of a recent field addition, at a location that has at least a given amount of empty screen space, on a newly created page or minipage.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de diseño dinámico para aplicar una o más reglas de diseño dinámico a dicha vista particular.In some implementations, for example, the WBS further comprises: a dynamic layout manager for applying one or more dynamic layout rules to said particular view.

En algunas implementaciones, por ejemplo, el gestor de diseño dinámico tiene en cuenta dichas reglas de diseño dinámico y anclajes de diseño dinámico.In some implementations, for example, the dynamic layout manager takes into account such dynamic layout rules and dynamic layout anchors.

En algunas implementaciones, por ejemplo, el WBS además comprende: un creador de vista completa para crear una versión completa de una vista que o bien (a) se haya compuesto o (b) se haya construido dinámicamente sobre la marcha o (c) se haya adaptado dinámicamente sobre la marcha.In some implementations, for example, the WBS further comprises: a full view creator for creating a full version of a view that has either (a) been composed or (b) been dynamically constructed on the fly or (c) has dynamically adapted on the fly.

En algunas implementaciones, por ejemplo, el creador de vista completa comprende: un módulo de composición de vista a campo para proyectar cada componente de datos en dicha vista a un campo de composición en el elemento. In some implementations, for example, the full view creator comprises: a view-to-field composition module to project each data component in said view to a composition field on the element.

En algunas implementaciones, por ejemplo, el módulo de composición de vista a campo utiliza por lo menos uno de: (a) datos de asociación previa; (b) nombre común usado por un componente de vista y campo de elemento;In some implementations, for example, the view-to-field composition module uses at least one of: (a) pre-association data; (b) common name used by a view component and element field;

(c) consulta sobre la composición de palabras clave asignadas a componentes de vista y campos de elementos. (c) query on the composition of keywords assigned to view components and element fields.

En algunas implementaciones, por ejemplo, el creador de vista completa comprende: un módulo de redimensionamiento de componente para redimensionar un campo faltante a tamaño cero.In some implementations, for example, the full view creator comprises: a component resize module to resize a missing field to size zero.

En algunas implementaciones, por ejemplo, el creador de vista completa comprende: un ajustador de tamaño de visualización de vista para optimizar las dimensiones de por lo menos un componente en dicha vista particular para admitir una relación de aspecto de una unidad de visualización usada.In some implementations, for example, the full view creator comprises: a view display size adjuster for optimizing the dimensions of at least one component in said particular view to support an aspect ratio of a used display unit.

En algunas implementaciones, por ejemplo, el ajustador de tamaño de visualización de vista comprende: un generador de anchuras objetivo para generar un conjunto de anchuras objetivo posibles de dicho componente, y para realizar un cálculo de diseño dinámico para determinar una altura correspondiente para cada anchura objetivo; un selector de anchura objetivo para seleccionar una anchura objetivo única que mejor admite la relación de aspecto de la unidad de visualización usada.In some implementations, for example, the view display size adjuster comprises: a target width generator to generate a set of possible target widths of said component, and to perform a dynamic layout calculation to determine a corresponding height for each target width; a target width selector to select a single target width that best supports the aspect ratio of the display unit used.

En algunas implementaciones, por ejemplo, la vista dada comprende un componente repetidor contenido dentro de dicha vista, en el que el componente repetidor visualiza una lista secundaria relacionada con una lista primaria de elementos de contenido visualizados a través de dicha vista dada.In some implementations, for example, the given view comprises a repeater component contained within said view, wherein the repeater component displays a secondary list related to a primary list of content items displayed through said given view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo de visualización de componente repetidor para visualizar dicha lista secundaria usando atributos del mismo nombre y atributos de contexto que dicha lista primaria tiene según dicha vista dada.In some implementations, for example, the WBS further comprises: a repeater component display module for displaying said secondary list using attributes of the same name and context attributes that said primary list has according to said given view.

El WBS además comprende: un gestor de componente de enlace para definir un componente de enlace que comprende un contenedor que visualiza contenido obtenido a partir de dicho grupo de elementos de contenido. The WBS further comprises: a link component manager for defining a link component comprising a container that displays content obtained from said group of content elements.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace visualiza una sola minipágina a la vez, que contiene un solo elemento de contenido a partir de dicho grupo de elementos de contenido.In some implementations, for example, the link component manager displays a single minipage at a time, containing a single content item from that group of content items.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace anima una transición entre los elementos de contenido examinados.In some implementations, for example, the link component handler animates a transition between browsed content elements.

En algunas implementaciones, por ejemplo, en las que el gestor de componente de enlace visualiza, simultáneamente, una galería de elementos de contenido.In some implementations, for example, the link component manager simultaneously displays a gallery of content items.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace es para visualizar uno o más elementos de contenido enlazados por dicho componente de enlace en respuesta a una URL directa que enlaza directamente con dicho componente de enlace.In some implementations, for example, the link component manager is for displaying one or more content elements linked by said link component in response to a direct URL that links directly to said link component.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace está asociado con un gestor de conexión de lista relacionada para interconectar dos componentes de enlace en base a una lista relacionada de elementos de contenido.In some implementations, for example, the link component manager is associated with a related list connection manager to interconnect two link components based on a related list of content items.

El gestor de componente de enlace está asociado con un gestor de conexión de campo agregador para interconectar entre dos componentes de enlace en base a una función de agregación que calcula un valor agregado en base a elementos en uno de dichos dos componentes de enlace.The link component manager is associated with an aggregator field connection manager to interface between two link components based on an aggregation function that calculates an aggregate value based on elements in one of said two link components.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace está asociado con un gestor de conexión de nube de etiquetas para interconectar dos componentes de enlace en base a la selección de etiquetas de una etiqueta de nube que está asociada con uno o dichos dos componentes de enlace. En algunas implementaciones, por ejemplo, el gestor de componente de enlace está asociado con un gestor de conexión de árbol de jerarquía para interconectar dos componentes de enlace en base a un árbol de jerarquía que tiene por lo menos un puntero matriz/hijo.In some implementations, for example, the link component manager is associated with a tag cloud connection manager to interconnect two link components based on the selection of tags from a tag cloud that is associated with one or both of them. link components. In some implementations, for example, the link component manager is associated with a hierarchy tree connection manager to interconnect two link components based on a hierarchy tree that has at least one parent/child pointer.

En algunas implementaciones, por ejemplo, el gestor de componente de enlace está asociado con un gestor de conexión de visualización de formulario para interconectar entre dos componentes de enlace en base a una petición de un primer componente de enlace para visualizar una presentación alternativa de un elemento actualmente visualizado del primer componente de enlace.In some implementations, for example, the link component manager is associated with a form display connection manager to interface between two link components based on a request from a first link component to display an alternative presentation of an element. currently displayed of the first link component.

En algunas implementaciones, por ejemplo, el WBS además comprende: un gestor de diseño dinámico para modificar un diseño de un componente de enlace, que contiene dicha vista, en base a una propiedad de presentación de un elemento de contenido en dicha vista.In some implementations, for example, the WBS further comprises: a dynamic layout manager for modifying a layout of a link component, containing said view, based on a presentation property of a content element in said view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo de adaptación de elemento específico para adaptar un elemento de contenido específico al realizar por lo menos uno de: (a) añadir uno o más componentes a un contenido visualizado en un contexto de aplicación de una vista específica; (b) eliminar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica; (c) modificar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica.In some implementations, for example, the WBS further comprises: a specific element adaptation module for adapting a specific content element by performing at least one of: (a) adding one or more components to a content displayed in a context of application of a specific view; (b) remove one or more components of a content displayed in an application context of a specific view; (c) modify one or more components of a content displayed in an application context of a specific view.

En algunas implementaciones, por ejemplo, el módulo de adaptación de elemento específico comprende: un creador de variante local para crear una variante local de una vista dada como una vista interna derivada y añadir una capa de modificaciones a dicha vista interna derivada.In some implementations, for example, the element-specific adaptation module comprises: a local variant creator to create a local variant of a given view as a derived internal view and add a layer of modifications to said derived internal view.

En algunas implementaciones, por ejemplo, la vista interna derivada se almacena conjuntamente con una identificación del elemento al que se aplica la vista interna derivada.In some implementations, for example, the derived internal view is stored together with an ID of the element to which the derived internal view applies.

En algunas implementaciones, por ejemplo, la vista interna derivada se almacena en una aplicación de lista actual que comprende el elemento al que se aplica la vista interna derivada.In some implementations, for example, the derived internal view is stored in a current list application that comprises the item to which the derived internal view applies.

En algunas implementaciones, por ejemplo, el módulo de adaptación de elemento específico comprende: un módulo de personalización para aplicar una personalización de vista a todas las instancias de una vista dada.In some implementations, for example, the element-specific adaptation module comprises: a module customization to apply a view customization to all instances of a given view.

En algunas implementaciones, por ejemplo, el WBS además comprende: un módulo gestor de tienda de aplicaciones para gestionar una tienda de aplicaciones que permite a un diseñador de sitios web obtener uno o más objetos generados por el sistema de creación de sitios web; en el que la obtención comprende por lo menos uno de: (a) descarga; (b) obtención desde un artículo de almacenamiento; (c) obtención desde un artículo de almacenamiento enviado; (d) obtención desde un ordenador servidor que almacena dichos objetos; (e) obtención desde un servidor de computación en la nube.In some implementations, for example, the WBS further comprises: an application store manager module for managing an application store that allows a website designer to obtain one or more objects generated by the website creation system; wherein the obtaining comprises at least one of: (a) downloading; (b) obtaining from a storage item; (c) obtaining from a shipped storage item; (d) obtaining from a server computer that stores said objects; (e) obtaining from a cloud computing server.

La presente invención también proporciona un procedimiento computarizado para construir un sitio web como se define en la reivindicación 10.The present invention also provides a computerized method for building a website as defined in claim 10.

En algunas implementaciones, por ejemplo, el procedimiento comprende: asociar entre una vista dada y un elemento dado; en el que la adaptación y composición dinámica comprende realizar una composición dinámica a partir de una asociación previa entre vistas y elementos.In some implementations, for example, the procedure comprises: associating between a given view and a given element; in which the adaptation and dynamic composition comprises performing a dynamic composition based on a previous association between views and elements.

En algunas implementaciones, por ejemplo, el procedimiento comprende: dar soporte a la herencia de vistas al generar una vista derivada que hereda características de una vista existente.In some implementations, for example, the procedure comprises: supporting view inheritance by generating a derived view that inherits characteristics of an existing view.

En algunas implementaciones, por ejemplo, el procedimiento comprende: clasificar posibles composiciones de vistas para un elemento de contenido dado.In some implementations, for example, the method comprises: ranking possible view compositions for a given content element.

En algunas implementaciones, por ejemplo, el procedimiento comprende: modificar dinámicamente un candidato de alta clasificación entre múltiples composiciones de vistas candidatas, para un elemento de contenido dado, si la composición y adaptación no encuentra ninguna composición de vista predefinida que componga dicho elemento de contenido con una puntuación de composición que es mayor que un valor umbral.In some implementations, for example, the method comprises: dynamically modifying a high-ranking candidate among multiple candidate view compositions, for a given content element, if the composition and adaptation does not find any predefined view composition that composes said content element with a composition score that is greater than a threshold value.

En algunas implementaciones, por ejemplo, el procedimiento comprende: aplicar una o más reglas de diseño dinámico a dicha vista particular.In some implementations, for example, the procedure comprises: applying one or more dynamic layout rules to said particular view.

En algunas implementaciones, por ejemplo, la vista dada comprende un componente repetidor contenido dentro de dicha vista, en el que el componente repetidor visualiza una lista secundaria relacionada con una lista primaria de elementos de contenido visualizados a través de dicha vista dada.In some implementations, for example, the given view comprises a repeater component contained within said view, wherein the repeater component displays a secondary list related to a primary list of content items displayed through said given view.

El procedimiento comprende: definir un componente de enlace que comprende un contenedor que visualiza contenido obtenido a partir de dicho grupo de elementos de contenido.The method comprises: defining a link component comprising a container that displays content obtained from said group of content elements.

En algunas implementaciones, por ejemplo, el procedimiento comprende: realizar una adaptación de elemento específico para adaptar un elemento de contenido específico realizando por lo menos uno de: (a) añadir uno o más componentes a un contenido visualizado en un contexto de aplicación de una vista específica; (b) eliminar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica; (c) modificar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica.In some implementations, for example, the method comprises: performing a specific element adaptation to adapt a specific content element by performing at least one of: (a) adding one or more components to a content displayed in an application context of a specific view; (b) remove one or more components of a content displayed in an application context of a specific view; (c) modify one or more components of a content displayed in an application context of a specific view.

En algunas implementaciones, por ejemplo, el procedimiento comprende: gestionar una tienda de aplicaciones que permite a un diseñador de sitios web obtener uno o más objetos generados por el sistema de creación de sitios web; en el que la obtención comprende por lo menos uno de: (a) descarga; (b) obtención desde un artículo de almacenamiento; (c) obtención desde un artículo de almacenamiento enviado; (d) obtención desde un ordenador servidor que almacena dichos objetos; (e) obtención desde un servidor de computación en la nube.In some implementations, for example, the method comprises: managing an application store that allows a website designer to obtain one or more objects generated by the website creation system; wherein the obtaining comprises at least one of: (a) downloading; (b) obtaining from a storage item; (c) obtaining from a shipped storage item; (d) obtaining from a server computer that stores said objects; (e) obtaining from a cloud computing server.

Algunas implementaciones pueden comprender, por ejemplo, un medio de almacenamiento que tiene almacenadas instrucciones en el mismo que, cuando son ejecutadas por una máquina, hacen que la máquina ejecute un procedimiento según la presente invención.Some implementations may comprise, for example, a storage medium having instructions stored thereon that, when executed by a machine, cause the machine to execute a procedure according to the present invention.

En algunas implementaciones, por ejemplo, el uno o más objetos comprenden uno o más de: una vista; una plantilla; un tipo de elemento; una colección de elementos; una aplicación de lista; un componente de enlace.In some implementations, for example, the one or more objects comprise one or more of: a view; a template; a type of element; a collection of elements; a list application; a link component.

La presente invención puede proporcionar otros y/o beneficios o ventajas adicionales.The present invention may provide other and/or additional benefits or advantages.

Breve descripción de los dibujosBrief description of the drawings

Por motivos de simplicidad y claridad de ilustración, los elementos que se muestran en las figuras no necesariamente se han dibujado a escala. Por ejemplo, las dimensiones de algunos de los elementos pueden exagerarse en relación con otros elementos para una mayor claridad de presentación. Además, los números de referencia pueden repetirse entre las figuras para indicar los elementos correspondientes o análogos. Las figuras se enumeran a continuación. For reasons of simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for greater clarity of presentation. Furthermore, reference numerals may be repeated between the figures to indicate corresponding or analogous elements. The figures are listed below.

La figura 1 es una ilustración esquemática en diagrama de bloques de un sistema de creación de sitios web (WBS) que se puede usar para crear un sitio web, según algunas realizaciones demostrativas de la presente invención; Figure 1 is a schematic block diagram illustration of a website building system (WBS) that can be used to create a website, according to some demonstrative embodiments of the present invention;

la figura 2 es una ilustración esquemática en diagrama de bloques del WBS que muestra en particular componentes y su contenido, según algunas realizaciones demostrativas de la presente invención;Figure 2 is a schematic block diagram illustration of the WBS showing in particular components and its content, according to some demonstrative embodiments of the present invention;

la figura 3 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular herencia entre objetos, según algunas realizaciones demostrativas de la presente invención;Figure 3 is a schematic block diagram illustration of the WBS particularly demonstrating inheritance between objects, according to some demonstrative embodiments of the present invention;

la figura 4 es una ilustración esquemática en diagrama de bloques del WBS que muestra en particular plantillas, según algunas realizaciones demostrativas de la presente invención;Figure 4 is a schematic block diagram illustration of the WBS showing in particular templates, according to some demonstrative embodiments of the present invention;

la figura 5 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular tipos de elementos, según algunas realizaciones demostrativas de la presente invención;Figure 5 is a schematic block diagram illustration of the WBS demonstrating particular types of elements, according to some demonstrative embodiments of the present invention;

la figura 6 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular colecciones y elementos, según algunas realizaciones demostrativas de la presente invención;Figure 6 is a schematic block diagram illustration of the WBS demonstrating in particular collections and elements, according to some demonstrative embodiments of the present invention;

la figura 7 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular componentes de enlace (LC), según algunas realizaciones demostrativas de la presente invención;Figure 7 is a block diagram schematic illustration of the WBS particularly demonstrating link components (LC), according to some demonstrative embodiments of the present invention;

las figuras 8-9 son ilustraciones esquemáticas en diagrama de bloques del WBS que demuestran en particular vistas y módulos que gestionan dichas vistas, según algunas realizaciones demostrativas de la presente invención;Figures 8-9 are block diagram schematic illustrations of the WBS demonstrating in particular views and modules managing said views, according to some demonstrative embodiments of the present invention;

la figura 10 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular módulos de un proceso de tres etapas de composición/construcción y compleción de vista, según algunas realizaciones demostrativas de la presente invención;Figure 10 is a schematic block diagram illustration of the WBS demonstrating in particular modules of a three-step composition/construction and view completion process, according to some demonstrative embodiments of the present invention;

la figura 11 es una ilustración esquemática en diagrama de bloques del WBS que muestra en particular la localización de la vista (o composición de vista con elemento), según algunas realizaciones demostrativas de la presente invención; la figura 12 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la asociación previa de vista, según algunas realizaciones demostrativas de la presente invención;Figure 11 is a schematic block diagram illustration of the WBS showing in particular the location of the view (or view composition with element), according to some demonstrative embodiments of the present invention; Figure 12 is a block diagram schematic illustration of the WBS particularly demonstrating view preview association, according to some demonstrative embodiments of the present invention;

la figura 13 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la búsqueda de vista, según algunas realizaciones demostrativas de la presente invención;Figure 13 is a schematic block diagram illustration of the WBS particularly demonstrating view search, according to some demonstrative embodiments of the present invention;

la figura 14 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la construcción de vista dinámica, según algunas realizaciones demostrativas de la presente invención;Figure 14 is a schematic block diagram illustration of the WBS particularly demonstrating the dynamic view construction, according to some demonstrative embodiments of the present invention;

la figura 15 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la selección de vista y visualización polimórfica, según algunas realizaciones demostrativas de la presente invención;Figure 15 is a schematic block diagram illustration of the WBS particularly demonstrating view selection and polymorphic display, according to some demonstrative embodiments of the present invention;

la figura 16 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la creación de una vista completa, según algunas realizaciones demostrativas de la presente invención;Figure 16 is a schematic block diagram illustration of the WBS particularly demonstrating the creation of a complete view, according to some demonstrative embodiments of the present invention;

la figura 17 es una ilustración esquemática en diagrama de bloques del WBS que muestra el diseño dinámico y los ajustes para una vista completa, según algunas realizaciones demostrativas de la presente invención;Figure 17 is a block diagram schematic illustration of the WBS showing the dynamic layout and settings for a full view, according to some demonstrative embodiments of the present invention;

la figura 18 es una ilustración esquemática en diagrama de bloques del WBS que demuestra la ubicación y modificación de zona de llegada, según algunas realizaciones demostrativas de la presente invención;Figure 18 is a schematic block diagram illustration of the WBS demonstrating the location and modification of the arrival zone, according to some demonstrative embodiments of the present invention;

la figura 19 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la modificación de la vista, según algunas realizaciones demostrativas de la presente invención;Figure 19 is a schematic block diagram illustration of the WBS particularly demonstrating the modification of the view, according to some demonstrative embodiments of the present invention;

la figura 20 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la gestión de conexión de LC, según algunas realizaciones demostrativas de la presente invención;Figure 20 is a block diagram schematic illustration of the WBS particularly demonstrating LC connection management, according to some demonstrative embodiments of the present invention;

la figura 21 es una ilustración esquemática en diagrama de bloques del WBS que demuestra en particular la integración de la tienda de app, según algunas realizaciones demostrativas de la presente invención;Figure 21 is a schematic block diagram illustration of the WBS particularly demonstrating the integration of the app store, according to some demonstrative embodiments of the present invention;

la figura 22 es una interfaz de usuario (UI) demostrativa que admite la actualización explícita de colecciones para una aplicación de lista (LA) de restaurantes, según algunas realizaciones demostrativas de la presente invención; la figura 23A es un LA de restaurantes demostrativa que visualiza una jerarquía de elementos a partir de múltiples colecciones dentro de un solo LC, según algunas realizaciones demostrativas de la presente invención;Figure 22 is a demonstrative user interface (UI) that supports explicit updating of collections for a restaurant listing application (LA), according to some demonstrative embodiments of the present invention; Figure 23A is a demonstrative restaurant LA that displays a hierarchy of elements from multiple collections within a single LC, according to some demonstrative embodiments of the present invention;

la figura 23B es una versión anotada de la LA de restaurantes demostrativa, según algunas realizaciones demostrativas de la presente invención;Figure 23B is an annotated version of the demonstrative restaurant LA, according to some demonstrative embodiments of the present invention;

la figura 24 es un LC de muestra que visualiza un único elemento ampliado, según algunas realizaciones demostrativas de la presente invención;Figure 24 is a sample LC displaying a single enlarged element, according to some demonstrative embodiments of the present invention;

la figura 25 es un LC de muestra que visualiza múltiples vistas de elementos en un formato de estilo de galería de múltiples columnas, según algunas realizaciones demostrativas de la presente invención;Figure 25 is a sample LC displaying multiple views of elements in a gallery-style format. multiple columns, according to some demonstrative embodiments of the present invention;

la figura 26 es un cuadro de búsqueda de ejemplo usado para seleccionar elementos que se incluirán en una lista generada por el sistema, según algunas realizaciones demostrativas de la presente invención; yFigure 26 is an example search box used to select elements to be included in a system-generated list, according to some demonstrative embodiments of the present invention; and

la figura 27 es un efecto demostrativo de aumentar el valor de "espaciado entre elementos" en el espaciado entre instancias de vista en la LA de muestra, según algunas realizaciones demostrativas de la presente invención.Figure 27 is a demonstrative effect of increasing the "element spacing" value on the spacing between view instances in the sample LA, according to some demonstrative embodiments of the present invention.

Descripción detallada de la presente invenciónDetailed description of the present invention

En la siguiente descripción detallada, se exponen numerosos detalles específicos para proporcionar una comprensión exhaustiva de algunas realizaciones. Sin embargo, las personas expertas en la materia entenderán que algunas realizaciones se pueden poner en práctica sin estos detalles específicos. En otros casos, no se han descrito en detalle procedimientos, componentes, unidades y/o circuitos bien conocidos para no complicar el análisis.In the following detailed description, numerous specific details are set forth to provide a comprehensive understanding of some embodiments. However, those skilled in the art will understand that some embodiments may be implemented without these specific details. In other cases, well-known procedures, components, units and/or circuits have not been described in detail so as not to complicate the analysis.

La presente invención puede comprender un sistema de creación de sitios web (WBS) que puede implementar componentes de lista y aplicaciones de lista como se describe en el presente documento. El WBS puede ser usado por un diseñador o programador u otra persona que desee crear un sitio web. Algunas implementaciones del WBS pueden configurarse para que sean adecuadas para usuarios novatos o usuarios legos, o para creadores de sitios web que no necesariamente tienen habilidades avanzadas (o cualquier habilidad) en programación, y que no necesariamente dominan los lenguajes de programación. Un usuario directo del WBS, que puede utilizar el WBS para crear un sitio web, puede denominarse "diseñador"; mientras que el sitio web en sí, una vez creado y publicado, puede ser usado por "usuarios finales".The present invention may comprise a website building system (WBS) that may implement list components and list applications as described herein. The WBS can be used by a designer or programmer or another person who wants to create a website. Some WBS implementations can be configured to be suitable for novice or lay users, or for website creators who do not necessarily have advanced skills (or any skills) in programming, and who are not necessarily proficient in programming languages. A direct user of the WBS, who can use the WBS to create a website, may be called a "designer"; while the website itself, once created and published, can be used by "end users".

Según la presente invención, el WBS puede comprender y/o habilitar los siguientes rasgos característicos: elementos y colecciones de elementos; tipos de elementos; vistas (incluidos elementos condicionales, calculados y otros); plantillas y herencia (incluidas vistas derivadas y tipos derivados); componentes de enlace (LC); composición dinámica entre elementos, tipos y vistas; soporte para la creación automática de tipos de elementos a partir de vistas derivadas y viceversa; soporte para personalizaciones y diálogos de personalización generados automáticamente; soporte para adaptaciones de elementos específicos; soporte para la creación de conexiones entre LC relacionadas; soporte para la integración de la tienda de aplicaciones para todos los rasgos característicos anteriores.According to the present invention, the WBS may comprise and/or enable the following characteristic features: elements and collections of elements; element types; views (including conditional, calculated and other elements); templates and inheritance (including derived views and derived types); link components (LC); dynamic composition between elements, types and views; support for automatic creation of element types from derived views and vice versa; support for customizations and automatically generated customization dialogs; support for adaptations of specific elements; support for creating connections between related LCs; App store integration support for all of the above features.

Algunas realizaciones de la presente invención se pueden utilizar junto con sistemas, procedimientos, módulos y/o componentes que se describen en la solicitud de patente estadounidense número 13/771.119, titulada "Web Site Design System Integrating Dynamic Layout and Dynamic Content", presentada el 20 de febrero de 2013, publicada con el número de publicación de solicitud de patente estadounidense 2013/0219263.Some embodiments of the present invention may be used in conjunction with systems, procedures, modules and/or components described in U.S. Patent Application No. 13/771,119, entitled "Web Site Design System Integrating Dynamic Layout and Dynamic Content," filed on February 20, 2013, published under US Patent Application Publication Number 2013/0219263.

Páginas, contenedores y componentesPages, containers and components

Se hace referencia a la figura 1, que es una ilustración esquemática en diagrama de bloques de un sistema de creación de sitios web (WBS) 100 que puede usarse para crear un sitio web 110, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede usarse para construir, producir, editar y/o generar un sitio web 110, que puede comprender páginas 111 que pueden incluir componentes 120 (p. ej., texto, imágenes, vídeos).Reference is made to Figure 1, which is a schematic block diagram illustration of a website building system (WBS) 100 that may be used to create a website 110, according to some demonstrative embodiments of the present invention. The WBS 100 may be used to build, produce, edit and/or generate a website 110, which may comprise pages 111 that may include components 120 (e.g., text, images, videos).

Los componentes 120 pueden ser, por ejemplo, componentes 121 atómicos y/o componentes 122 de contenedor. Por ejemplo, los componentes 122 de contenedor pueden ser contenedores de una sola página 123 o contenedores 124 de varias páginas (que incluyen múltiples minipáginas 125 separadas entre sí). Se aclara que estos son solo ejemplos demostrativos, no limitantes. En particular, la figura 1 demuestra una configuración específica de componentes y contenedores, pero son posibles numerosas configuraciones de este tipo.The components 120 may be, for example, atomic components 121 and/or container components 122. For example, container components 122 may be single-page containers 123 or multi-page containers 124 (including multiple minipages 125 spaced apart from each other). It is clarified that these are only demonstrative examples, not limiting ones. In particular, Figure 1 demonstrates a specific configuration of components and containers, but numerous such configurations are possible.

Los contenedores 124 de varias páginas pueden visualizar una sola minipágina 125 a la vez (visualización de una sola página), o pueden visualizar algunas o todas las minipáginas 125 (por ejemplo, implementadas como una visualización de galería o carrusel o colección, por ejemplo, como se demuestra en la figura 25). Un contenedor 124 de varias páginas puede tener un modo de visualización fijo (p. ej., visualización de galería solamente), o puede permitir al usuario conmutar entre múltiples modos de visualización.Multi-page containers 124 may display a single minipage 125 at a time (single page display), or may display some or all of the minipages 125 (e.g., implemented as a gallery or carousel or collection display, e.g. as demonstrated in figure 25). A multi-page container 124 may have a fixed display mode (e.g., gallery display only), or may allow the user to switch between multiple display modes.

Al ver una página que contiene un contenedor 124 de varias páginas, el usuario puede pasar de una a otra de las diversas minipáginas 125 contenidas en el contenedor 124 de varias páginas usando uno o más mecanismos adecuados, por ejemplo, botones de navegación (p. ej., primero, anterior, siguiente, último) y/o selección visual entre múltiples minipáginas 125 visibles (o sus miniaturas, representaciones reducidas).When viewing a page containing a multi-page container 124, the user can move from one to another of the various mini-pages 125 contained in the multi-page container 124 using one or more suitable mechanisms, for example, navigation buttons (e.g. e.g., first, previous, next, last) and/or visual selection between multiple visible minipages 125 (or their thumbnails, reduced representations).

Se hace referencia a la figura 2, que es una ilustración esquemática en diagrama de bloques del WBS 100 que muestra en particular los componentes 120 (p. ej., de la página 111 del sitio web 110) y su contenido 130, según algunas realizaciones demostrativas de la presente invención.Reference is made to Figure 2, which is a schematic block diagram illustration of the WBS 100 showing in particular the components 120 (e.g., from page 111 of the website 110) and their contents 130, according to some embodiments. demonstrations of the present invention.

Los componentes 120 pueden tener contenido 130, por ejemplo, contenido de texto para componente de texto, una imagen para componente de imagen, contenido de vídeo para un componente de reproductor de vídeo o similar. Los componentes 120 pueden tener (o pueden estar asociados con) atributos 131, por ejemplo, atributos 132 de visualización (p. ej., color, marcos) y atributos 133 de diseño (p. ej., tamaño y posición). Se aclara que la figura 2 representa una implementación demostrativa, no limitante; y que los diversos atributos 131, 132 y/o 133 pueden no "depender" necesariamente del contenido 130. Por ejemplo, algunos de los componentes en el WBS 100 pueden tener (o pueden estar asociados con) los atributos 131, 132 y/o 133, sin tener necesariamente contenido 130. De forma similar, en algunos tipos de componentes, los atributos 131, 132 y/o 133 pueden estar completamente separados (y/o independientes) de un contenido particular o de cualquier contenido. En otros tipos de componentes, el contenido puede estar asociado con atributos; por ejemplo, uno o más tipos de fuentes y/o colores específicos pueden estar asociados con elementos de texto que se muestran en un componente de texto.The components 120 may have content 130, for example, text content for a text component, an image for an image component, video content for a video player component, or the like. Components 120 may have (or may be associated with) attributes 131, for example, attributes 132 of display (e.g., color, frames) and layout 133 attributes (e.g., size and position). It is clarified that Figure 2 represents a demonstrative, non-limiting implementation; and that the various attributes 131, 132 and/or 133 may not necessarily "depend" on the content 130. For example, some of the components in the WBS 100 may have (or may be associated with) the attributes 131, 132 and/or 133, without necessarily having content 130. Similarly, in some types of components, attributes 131, 132 and/or 133 may be completely separate (and/or independent) from a particular content or from any content. In other component types, content may be associated with attributes; For example, one or more specific font types and/or colors may be associated with text elements displayed in a text component.

El WBS 100 puede generar una definición de página que puede incluir reglas de diseño dinámico (p. ej., anclajes que conectan múltiples bordes de componentes) que pueden manejarse mediante un gestor 101 de diseño dinámico (DLM). Por ejemplo, el DLM 101 puede activarse cada vez que se activa un activador de diseño dinámico (DL), por ejemplo, un cambio que afecta al diseño de la página (p. ej., añadir componentes, eliminar componentes, cambiar el contenido de un componente de una manera que afecta al tamaño del componente, mover componentes, redimensionar los componentes), cambio de contenido para componentes que reflejan contenido externo, o similares. Se pueden usar otros activadores o mecanismos de activación adecuados, por ejemplo, como se detalla en la solicitud de patente estadounidense número 13/771.119 mencionada anteriormente.The WBS 100 may generate a page definition that may include dynamic layout rules (e.g., anchors connecting multiple component edges) that may be managed by a dynamic layout manager (DLM) 101. For example, the DLM 101 may be triggered each time a dynamic layout (DL) trigger is triggered, e.g., a change that affects the layout of the page (e.g., adding components, removing components, changing page content). a component in a way that affects the size of the component, moving components, resizing components), changing content for components that reflect external content, or the like. Other suitable activators or activation mechanisms may be used, for example, as detailed in the aforementioned US Patent Application No. 13/771,119.

Relaciones de herenciaInheritance relationships

Se hace referencia a la figura 3, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la herencia entre objetos, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un gestor 102 de soporte de herencia que puede admitir la relación de herencia entre entidades de un tipo de entidad dado, incluyendo en particular los siguientes tipos de entidad: Plantillas (que pueden incluir páginas), tipos de elementos y vistas.Reference is made to Figure 3, which is a schematic block diagram illustration of the WBS 100 that particularly demonstrates inheritance between objects, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise an inheritance support manager 102 that may support the inheritance relationship between entities of a given entity type, including in particular the following entity types: Templates (which may include pages), element types and views .

Cuando una entidad A hereda de una entidad B, los subelementos de A se copian o se importan de las subentidades de B. Por ejemplo, la entidad B puede denominarse "entidad matriz B" (indicada como 141); mientras que la entidad A puede denominarse "entidad hija A" o "entidad herederaWhen an entity A inherits from an entity B, sub-elements of A are copied or imported from sub-entities of B. For example, entity B may be named "parent entity B" (denoted as 141); while entity A can be called "child entity A" or "inheritor entity

A" (denotado 142). Cabe señalar que la entidad A puede incluir modificaciones locales a los subelementos copiados de B, que incluyen (sin limitación): adición de nuevos subelementos; eliminación de subelementos copiados; cambios en las propiedades de los subelementos copiados. Las modificaciones locales solo se aplicarían a la entidad heredera A y no a la entidad matriz B.A" (denoted 142). It should be noted that entity A may include local modifications to the sub-items copied from B, including (without limitation): addition of new sub-items; deletion of copied sub-items; changes to the properties of the copied sub-items. Local modifications would only apply to the inheriting entity A and not the parent entity B.

El gestor 102 de soporte de herencia puede comprender, o puede utilizar, o puede estar asociado con, uno o más módulos habilitadores de herencia, por ejemplo, un módulo 103 de herencia por copia y/o un módulo 104 de herencia completa (que también puede denominarse como un módulo de "herencia continua", puesto que el vínculo de herencia puede afectar continuamente a la entidad heredera A cuando se realizan modificaciones posteriores a la entidad matriz B). Cabe señalar que, en algunas implementaciones, el WBS 100 puede admitir solo herencia por copia; mientras que, en otras implementaciones, el WBS 100 puede admitir solo herencia completa. En consecuencia, en algunas implementaciones, el WBS 100 puede admitir herencia completa o herencia por copia, pero no ambas.The inheritance support manager 102 may comprise, or may use, or may be associated with, one or more inheritance enabling modules, for example, a copy inheritance module 103 and/or a full inheritance module 104 (which also can be referred to as a "continuous inheritance" module, since the inheritance link can continually affect the inheriting entity A when subsequent modifications are made to the parent entity B). It should be noted that in some implementations, WBS 100 may support copy inheritance only; while, in other implementations, the WBS 100 may support only full inheritance. Accordingly, in some implementations, WBS 100 may support full inheritance or copy inheritance, but not both.

El módulo 103 de herencia por copia puede permitir la herencia por copia, de modo que la entidad A sea una entidad separada creada en base a la entidad matriz B copiando su estructura y subelementos. Sin embargo, la copia es una entidad separada y no reflejaría los cambios realizados en la entidad matriz B después de la creación de la entidad heredera A.The copy inheritance module 103 may allow copy inheritance, so that entity A is a separate entity created based on parent entity B by copying its structure and sub-elements. However, the copy is a separate entity and would not reflect changes made to the parent entity B after the creation of the inheriting entity A.

El módulo 104 de herencia completa puede habilitar la herencia completa, de modo que la entidad heredada A sigue siendo (incluso cuando se modifica) una instancia de la entidad matriz B. Por ejemplo, si la entidad matriz B se modifica después de que se haya creado la entidad heredera A, los cambios realizados en la entidad matriz B se reflejarían automáticamente en la entidad heredera A y se combinarían con las modificaciones locales realizadas en la entidad heredera A.The full inheritance module 104 can enable full inheritance, so that the inherited entity A remains (even when modified) an instance of the parent entity B. For example, if the parent entity B is modified after it has been created inherit entity A, changes made to parent entity B would automatically be reflected in inherit entity A and would be combined with local modifications made to inherit entity A.

El gestor 102 de soporte de herencia y/o sus módulos pueden admitir (para cada tipo de entidad de soporte de herencia) cualquiera de los siguientes tipos de herencia, o una combinación de los mismos: (a) herencia normal, de modo que A hereda de B; (b) herencia multinivel, de modo que A hereda de B y B hereda de C; (c) herencia múltiple, de modo que A hereda tanto de B como de C, combinando subelementos de ambos; (d) herencia diamante, de modo que A hereda tanto de B como de C, y ambas B y C heredan de otra entidad D.The inheritance support manager 102 and/or its modules may support (for each inheritance support entity type) any of the following inheritance types, or a combination thereof: (a) normal inheritance, such that A inherits from B; (b) multilevel inheritance, so that A inherits from B and B inherits from C; (c) multiple inheritance, so that A inherits from both B and C, combining sub-elements of both; (d) diamond inheritance, such that A inherits from both B and C, and both B and C inherit from another entity D.

PlantillasTemplates

Se hace referencia a la figura 4, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular plantillas, según algunas realizaciones demostrativasReference is made to Figure 4, which is a schematic block diagram illustration of the WBS 100 demonstrating in particular templates, according to some demonstrative embodiments.

de la presente invención. El WBS 100 puede comprender un gestor 105 de plantillas que puede gestionar plantillas 128 de página. Por ejemplo, una plantilla 128 puede ser un tipo especial de página (o minipágina) que no forma parte del sitio web normal que se está editando. Las plantillas 128 pueden incorporarse en páginas normales y pueden añadirse al contenido de dichas páginas; de forma adicional o alternativa, las plantillas 128 pueden usarse como base para la creación de nuevas páginas. En algunas realizaciones, ambas funcionalidades de las plantillas 128 pueden implementarse definiendo una página que hereda de una plantilla específica. Opcionalmente, una página puede incluir múltiples plantillas, que pueden combinarse conjuntamente con el contenido de las páginas.of the present invention. The WBS 100 may comprise a template manager 105 that may manage page templates 128. For example, a 128 template may be a special type of page (or minipage) that is not part of the normal website being edited. Templates 128 can be embedded into regular pages and can be added to the content of said pages; Additionally or alternatively, the templates 128 can be used as a basis for the creation of new pages. In some embodiments, both functionalities of the templates 128 may be implemented by defining a page that inherits from a specific template. Optionally, a page can include multiple templates, which can be combined together with the content of the pages.

El WBS 100 puede admitir además plantillas 129 de un solo componente, que describen las propiedades de un solo componente, y pueden usarse al construir otras plantillas y páginas. Cabe señalar que las plantillas 128 de página pueden verse como plantillas de múltiples componentes con propiedades adicionales a nivel de página (p. ej., anclajes de diseño dinámico).The WBS 100 may additionally support single component templates 129, which describe the properties of a single component, and may be used when building other templates and pages. It should be noted that page templates 128 can be viewed as multi-component templates with additional page-level properties (e.g., dynamic layout anchors).

En algunas implementaciones, el WBS 100 puede habilitar o admitir los siguientes tipos de plantillas: Plantillas de página 128; plantillas 129 de un solo componente; plantillas 127 de aplicación de lista; y plantillas 126 de vista. Cabe señalar que los diversos tipos de plantillas que se describen anteriormente con fines demostrativos están relacionadas con objetos que pueden tener un alcance y/o complejidad y/o características muy diferentes. Por ejemplo, las plantillas de aplicación de lista pueden describir un entorno de aplicación completo o una parte sustancial del mismo, tal como un sitio de restaurante llave en mano (p. ej., como se demuestra en la figura 21), un sitio web de informes de noticias llave en mano o similar. Como tal, una plantilla de aplicación de lista puede incluir una multiplicidad de tipos de elementos, elementos, colecciones, vistas y páginas, todos los cuales se usan para crear o generar el sitio web real. In some implementations, the WBS 100 may enable or support the following types of templates: Page templates 128; 129 single-component templates; list application templates 127; and 126 view templates. It should be noted that the various types of templates described above for demonstration purposes are related to objects that may have very different scope and/or complexity and/or characteristics. For example, list application templates may describe an entire application environment or a substantial portion thereof, such as a turnkey restaurant site (e.g., as demonstrated in Figure 21), a website of turnkey news reports or similar. As such, a list application template can include a multiplicity of item types, elements, collections, views, and pages, all of which are used to create or generate the actual website.

Opcionalmente, el WBS 100 puede admitir o permitir relaciones de herencia entre plantillas, de modo que las plantillas modificadas puedan derivarse de plantillas base. Este rasgo característico de la presente invención puede ser adicional a la relación de herencia entre páginas y plantillas (p. ej., una página particular que hereda de una o más plantillas). Optionally, the WBS 100 may support or allow inheritance relationships between templates, so that modified templates can be derived from base templates. This characteristic feature of the present invention may be in addition to the inheritance relationship between pages and templates (e.g., a particular page inheriting from one or more templates).

Tipos de elementosElement Types

Se hace referencia a la figura 5, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular tipos de elementos, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un gestor 106 de tipos, que puede gestionar "tipos" o tipos 135 de elementos, que pueden ser definiciones de registros de datos que describen elementos (p. ej., esquemas de elementos). Por ejemplo, un elemento demostrativo tipo 135 puede comprender un conjunto de campos 136 (p. ej., texto, número, imagen). Opcionalmente, un tipo de campo posible es un puntero 137 a un elemento (o conjunto de elementos), que se puede usar para crear jerarquías de elementos (a través de un puntero a la matriz), cadenas de elementos (a través de un puntero al siguiente elemento) u otras relaciones entre elementos entre dos o más elementos. Otro tipo de campo posible es un conjunto de etiquetas (seleccionadas entre una lista de etiquetas para el campo dado), que se utilizan para marcar elementos para su recuperación a través de un mecanismo similar a una nube de etiquetas.Reference is made to Figure 5, which is a schematic block diagram illustration of the WBS 100 demonstrating in particular types of elements, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise a type manager 106, which may manage element "types" or types 135, which may be data record definitions that describe elements (e.g., element schemas). For example, a display element type 135 may comprise a set of fields 136 (e.g., text, number, image). Optionally, a possible field type is a pointer 137 to an element (or set of elements), which can be used to create hierarchies of elements (via a pointer to the array), strings of elements (via a pointer to the next element) or other element relationships between two or more elements. Another possible type of field is a set of tags (selected from a list of tags for the given field), which are used to mark items for retrieval through a mechanism similar to a tag cloud.

Un tipo de elemento 135 puede heredar de otros tipos 135 de elementos, opcionalmente con adiciones, supresiones y modificaciones aplicadas a ellos. Por ejemplo, un tipo de elemento "camisa" puede heredar de un tipo de elemento "prenda" y puede tener el campo adicional "mangas (cortas/largas)".An element type 135 may inherit from other element types 135, optionally with additions, deletions, and modifications applied to them. For example, an item type "shirt" can inherit from an item type "garment" and can have the additional field "sleeves (short/long)".

El grupo de tipos 135 de elementos puede definirse a nivel de colección, nivel de aplicación, nivel de diseñador o nivel de WBS. Opcionalmente, el WBS 100 puede admitir uno o más conjuntos 138 de tipos de elementos, en uno o más niveles adecuados.The element type group 135 can be defined at the collection level, application level, designer level, or WBS level. Optionally, the WBS 100 may support one or more sets 138 of element types, at one or more appropriate levels.

Colecciones y elementosCollections and items

Se hace referencia a la figura 6, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular colecciones y elementos, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender, o puede estar asociado con, una base de datos 143 especializada que puede incluir una o más colecciones 144 de elementos 145. Cada colección 144 puede comprender uno o más elementos 145. Cada elemento 145 puede estar asociado con un tipo 136 de elemento específico. Una colección puede ser uniforme (p. ej., todos los elementos de esa colección tienen el mismo tipo de elemento); o no uniforme (p. ej., por lo menos dos de los elementos de esa colección tienen dos tipos de elementos diferentes). Cabe señalar que la figura 6 representa, con fines demostrativos, que la base de datos 143 comprende tanto las colecciones 144 como los elementos 145. En algunas implementaciones, la colección y los elementos pueden tener relaciones de jerarquía, puesto que una colección comprende elementos.Reference is made to Figure 6, which is a schematic block diagram illustration of the WBS 100 demonstrating in particular collections and elements, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise, or may be associated with, a specialized database 143 that may include one or more collections 144 of elements 145. Each collection 144 may comprise one or more elements 145. Each element 145 may be associated with a type 136 specific element. A collection can be uniform (e.g., all elements in that collection have the same element type); or non-uniform (e.g., at least two of the elements in that collection have two different element types). It should be noted that Figure 6 represents, for demonstration purposes, that the database 143 comprises both the collections 144 and the elements 145. In some implementations, the collection and the elements may have hierarchical relationships, since a collection comprises elements.

Actualización de colecciónCollection Update

Las colecciones 144 de elementos 145 pueden actualizarse, por ejemplo, añadiendo elementos 145, eliminando elementos 145 y/o modificando elementos 145. Por ejemplo, el WBS 100 puede comprender opcionalmente un gestor 146 de colecciones que puede proporcionar pantallas generadas automáticamente que pueden usar los usuarios (p. ej., diseñadores, desarrolladores, creadores de sitios web) para actualizar o editar una colección 144; por ejemplo, como se demuestra en la figura 22, que es una UI de ejemplo que admite la actualización de colección para una aplicación de lista de restaurantes (p. ej., añadir, eliminar o editar menús/secciones/ platos). De forma adicional o alternativa, un desarrollador puede crear su propio formulario o formularios de actualización de colección 147 y proporcionarlos al usuario final para actualizaciones de colección en tiempo de ejecución. Collections 144 of items 145 may be updated, for example, by adding items 145, deleting items 145, and/or modifying items 145. For example, the WBS 100 may optionally comprise a collection manager 146 that may provide automatically generated screens that can be used by the users (e.g., designers, developers, website creators) to update or edit a collection 144; for example, as demonstrated in Figure 22, which is an example UI that supports collection updating for a restaurant listing application (e.g., adding, deleting or editing menus/sections/dishes). Additionally or alternatively, a developer may create his or her own collection update form(s) 147 and provide them to the end user for runtime collection updates.

En algunas implementaciones, el WBS 100 puede proporcionar una interfaz programática (p. ej., una API 148 de actualización de colección) a través de la cual el sitio web creado puede interactuar directamente con el gestor 146 de colecciones y actualizar la colección 144. Opcionalmente, el WBS puede proporcionar una interfaz (p. ej., un servicio 149 web de actualización de colección) que permite que una aplicación externa (p. ej., aplicación web, aplicación móvil, aplicación de escritorio, aplicación basada en la nube o similar) acceda a la colección 144 y la actualice directamente, sin necesidad de acceder a la colección 144 a través del sitio web construido. En algunas implementaciones, el WBS 100 puede proporcionar una interfaz 150 para la actualización de colección en base a una fuente de datos externa (p. ej., fuente RSS) que se adjuntará a una colección 144 dada, y el propio WBS puede ser responsable de actualizar la colección 144 en base a la fuente de datos entrante.In some implementations, the WBS 100 may provide a programmatic interface (e.g., a collection update API 148) through which the created website can directly interact with the collection manager 146 and update the collection 144. Optionally, the WBS may provide an interface (e.g., a collection update web service 149) that allows an external application (e.g., web application, mobile application, desktop application, cloud-based application or similar) access collection 144 and update it directly, without needing to access collection 144 through the built website. In some implementations, the WBS 100 may provide an interface 150 for collection updating based on an external data source (e.g., RSS feed) to be attached to a given collection 144, and the WBS itself may be responsible to update collection 144 based on the incoming data source.

Opcionalmente, una colección 144 puede construirse de manera que represente (o apunte a) datos presentes en un sistema externo o conjunto de datos, por ejemplo, como una "colección virtual" 151. En este caso, los cambios en el sistema o conjunto de datos subyacente se reflejarían automáticamente en la colección 144 virtual.Optionally, a collection 144 may be constructed in a manner that represents (or points to) data present in an external system or data set, for example, as a "virtual collection" 151. In this case, changes to the system or data set underlying data would automatically be reflected in the virtual collection 144.

Componentes de enlaceLink components

Se hace referencia a la figura 7, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular componentes 152 de enlace (LC), según algunas realizaciones de la presente invención. El WBS 100 comprende, o permite la utilización de, componentes 152 de enlace (LC), que pueden gestionarse o manejarse a través de un módulo 106 de gestor de LC. Cada LC 152 es un tipo especial de contenedor de varias páginas que visualiza elementos obtenidos de una o más colecciones a través de una vista asociada dinámica o estáticamente con cada elemento, y cada minipágina visualiza un elemento a través de la vista asociada. Las implementaciones admiten varios tipos de LC 152, incluidos: (a) un LC 152 que visualiza una sola minipágina (y el elemento relacionado y su vista asociada) en cualquier momento; (b) un LC 152 que visualiza varias minipáginas simultáneamente (p. ej., contenedor de tipo carrusel o galería), o puede mostrar múltiples elementos a través de vistas asociadas (p. ej., de modo que cada vista se puede visualizar en una minipágina). Los LC 152 se usan directamente (p. ej., mediante su inclusión en páginas o minipáginas), o a través de plantillas que las contienen (p. ej., como otros componentes que pueden incluirse en plantillas). Una sola página o minipágina puede contener múltiples LC 152. Reference is made to Figure 7, which is a block diagram schematic illustration of the WBS 100 particularly demonstrating link (LC) components 152, according to some embodiments of the present invention. The WBS 100 comprises, or allows the use of, link components (LC) 152, which can be managed or operated through an LC manager module 106. Each LC 152 is a special type of multi-page container that displays elements obtained from one or more collections through a view dynamically or statically associated with each element, and each minipage displays an element through the associated view. Implementations support various types of LC 152, including: (a) an LC 152 that displays a single minipage (and the related element and its associated view) at any time; (b) an LC 152 that displays multiple minipages simultaneously (e.g., carousel or gallery type container), or can display multiple elements through associated views (e.g., such that each view can be displayed in a minipage). LCs 152 are used directly (e.g., by including them in pages or minipages), or through templates that contain them (e.g., as other components that can be included in templates). A single page or minipage can contain multiple LC 152s.

Opcionalmente, un LC puede estar asociado con: un elemento específico directamente; o una sola colección de elementos; o un conjunto de colecciones (p. ej., que pueden visualizarse una detrás de otra o jerárquicamente usando una estructura similar a una tabla de contenido). Por ejemplo, (como se demuestra en la figura 23), una aplicación de lista (LA) de restaurantes puede usar un menú LC que visualiza la organización jerárquica del menú, de manera que visualiza elementos de la colección de "menús" (p. ej., el nombre del menú actual), las " secciones" (p. ej., nombres de secciones del menú tal como "ensaladas", "acompañamientos y entrantes", etc.) y la colección de "platos" (p. ej., nombres y precios de platos específicos). Dichos LC pueden denominarse en el presente documento LC compuestos. Optionally, an LC can be associated with: a specific element directly; or a single collection of elements; or a set of collections (e.g., which can be displayed one after the other or hierarchically using a structure similar to a table of contents). For example, (as demonstrated in Figure 23), a restaurant listing application (LA) may use an LC menu that displays the hierarchical organization of the menu, such that it displays items from the "menus" collection (e.g. (e.g., the name of the current menu), "sections" (e.g., names of menu sections such as "salads", "sides and starters", etc.), and the collection of "dishes" (e.g. e.g., names and prices of specific dishes). Such LCs may be referred to herein as composite LCs.

En algunas implementaciones, un generador 107 de minipágina virtual puede generar automáticamente una minipágina virtual para cada elemento en la una o más colecciones asociadas con un LC 152. Se aclara que un solo LC 152 puede estar asociado con múltiples colecciones, algunas de las cuales pueden ser virtuales y otras no. Cuando se visualiza un LC 152, los diseñadores y usuarios pueden navegar manualmente entre las múltiples minipáginas visualizadas de ese LC, por ejemplo, usando una barra de desplazamiento o botones de navegación (p. ej., primero, anterior, siguiente, último). Los diseñadores y usuarios también pueden realizar operaciones adicionales, como se detalla en el presente documento.In some implementations, a virtual minipage generator 107 may automatically generate a virtual minipage for each element in the one or more collections associated with an LC 152. It is clarified that a single LC 152 may be associated with multiple collections, some of which may be virtual and others not. When viewing an LC 152, designers and users can manually navigate between the multiple displayed mini-pages of that LC, for example, using a scroll bar or navigation buttons (e.g., first, previous, next, last). Designers and users can also perform additional operations, as detailed herein.

Según la presente invención, el WBS 100 puede comprender un módulo 153 de acceso directo a LC que puede permitir un enlace directo a un LC 152; por ejemplo, permitir que se acceda directamente a una página que contiene LC usando una URL. Dichas URL demostrativas directas pueden ser, por ejemplo:According to the present invention, the WBS 100 may comprise a direct LC access module 153 that may allow a direct link to an LC 152; for example, allowing a page containing LC to be accessed directly using a URL. These direct demonstration URLs can be, for example:

www.MySite.com/prefix/MyPage. html?Myitem www.MySite.com/prefix/MyPage. html?Myitem

www.MvS¡te.com/prefix/MvPage.html?LC1=Mv¡tem1&LC2=MvItem2 www.MvS¡te.com/prefix/MvPage.html?LC1=Mv¡tem1&LC2=MvItem2

www.MySite.com/pref¡x/MyPage.html?LC1=MyF¡lterQueryStringwww.MySite.com/pref¡x/MyPage.html?LC1=MyF¡lterQueryString

El uso de dichos enlaces directos puede hacer que el WBS 100 abra la página específica (que contiene lo(s) LC(s) 152) con lo(s) LC(s) 152 que ya visualizan los elementos solicitados, o con una consulta determinada que se usa para filtrar elementos, similar a la forma en que se añaden consultas y parámetros a las URL normales (p. ej., para que los programas PHP las pasen para su procesamiento).Use of such direct links may cause the WBS 100 to open the specific page (containing the LC(s) 152) with the LC(s) 152 already displaying the requested elements, or with a query determined that is used to filter elements, similar to the way queries and parameters are added to normal URLs (e.g., to be passed by PHP programs for processing).

Cuando el WBS 100 abre una página que contiene un LC 152, con el LC 152 visualizando el resultado de una consulta originada en la URL, el LC 152 visualizará los resultados de la consulta como una estructura 108 de resultados de consulta, que se puede detallar o resumir. La lista de resultados en sí misma no es necesariamente una página o minipágina, sino más bien, puede tener una estructura arbitraria o predefinida según se define en el WBS 100. Una lista detallada de resultados puede incluir opcionalmente múltiples minipáginas (p. ej., una minipágina por cada resultado encontrado); esto puede diferenciarse de la situación habitual en la que un LC 152 visualiza una o más minipáginas en cualquier momento. When the WBS 100 opens a page containing an LC 152, with the LC 152 displaying the result of a query originating from the URL, the LC 152 will display the results of the query as a query results structure 108, which can be detailed or summarize. The list of results itself is not necessarily a page or minipage, but rather, may have an arbitrary or predefined structure as defined in WBS 100. A detailed list of results may optionally include multiple minipages (e.g., a minipage for each result found); This can be differentiated from the usual situation where an LC 152 displays one or more mini pages at any time.

Opcionalmente, el WBS 100 puede configurarse para limitar dicho enlace directo o enlace profundo a LC 152 específicos, o a tipos de LC específicos. Por ejemplo, un módulo 154 de restricciones de enlace LC puede usarse para definir restricciones o limitaciones en el enlace directo a los LC o tipos de LC específicos; y puede además ser responsable de ejecutar dichas restricciones de enlace LC.Optionally, the WBS 100 may be configured to limit such forward link or deep link to specific LCs 152, or to specific LC types. For example, an LC link restrictions module 154 can be used to define restrictions or limitations on direct linking to specific LCs or LC types; and may further be responsible for enforcing such LC link restrictions.

En algunas implementaciones, el WBS 100 puede comprender interfaces alternativas (p. ej., una interfaz basada en un servicio web o una interfaz basada en el intercambio de mensajes) para acceder a una o más de las funciones descritas anteriormente.In some implementations, the WBS 100 may comprise alternative interfaces (e.g., a web service-based interface or a message exchange-based interface) to access one or more of the functions described above.

El WBS 100 puede definir y utilizar opcionalmente LC 152 especializados para usos específicos, por ejemplo: visualizar solo un cuadro de búsqueda de filtro (con el resultado que se visualiza en otro lugar); visualizar una lista de resultados; visualizar una "nube de etiquetas" o un grupo de etiquetas que cualifican los elementos de una colección determinada. The WBS 100 may optionally define and use specialized LC 152 for specific uses, for example: displaying only a filter search box (with the result displayed elsewhere); display a list of results; display a "tag cloud" or a group of tags that qualify the items in a given collection.

Un uso demostrativo de los LC 152 puede incluir uno o más de los siguientes: (a) el LC 152 está directamente asociado con (y visualiza) un solo elemento de nivel superior especificado previamente (véase la figura 24); (b) el LC 152 está directamente asociado con un solo elemento de nivel superior especificado previamente y visualiza este elemento conjuntamente con una o más listas contenidas relacionadas (que visualizan elementos relacionados de la misma colección o de una colección diferente; véase la figura 23A); (c) el LC 152 está asociado con una colección filtrada (con el filtro que selecciona un conjunto dado de elementos de la lista), implementando una preselección manual de elementos o una consulta dinámica real.A demonstrative use of the LC 152 may include one or more of the following: (a) the LC 152 is directly associated with (and displays) a single, pre-specified top-level element (see Figure 24); (b) the LC 152 is directly associated with a single pre-specified top-level element and displays this element together with one or more related contained lists (displaying related elements from the same collection or from a different collection; see Figure 23A) ; (c) The LC 152 is associated with a filtered collection (with the filter selecting a given set of elements from the list), implementing a manual preselection of elements or an actual dynamic query.

Además de la navegación de listas (como se describe anteriormente), el WBS 100 puede habilitar operaciones adicionales que pueden activarse cuando se visualiza una lista en un LC 152, dependiendo de los permisos y privilegios del diseñador/usuario. Dichas operaciones adicionales pueden incluir, por ejemplo: (a) ir al formulario de adición de elemento (p. ej., una vista usada en el modo de adición de elemento, como se describe en el presente documento); (b) ir a una página de elemento ampliada; (c) ir a la lista relacionada; (d) ir a la edición de elemento. In addition to list navigation (as described above), the WBS 100 may enable additional operations that may be activated when viewing a list on an LC 152, depending on the permissions and privileges of the designer/user. Such additional operations may include, for example: (a) going to the element add form (e.g., a view used in element add mode, as described herein); (b) go to an expanded item page; (c) go to related list; (d) go to element edit.

VistasViews

Se hace referencia a las figuras 8-9, que son ilustraciones esquemáticas en diagrama de bloques del WBS 100 que demuestran en particular vistas y módulos que gestionan dichas vistas, según algunas realizaciones demostrativas de la presente invención. Cada vista 155 puede ser un tipo especial de plantilla usada para visualizar elementos de colecciones. Cada vista 155 visualiza un solo elemento; mientras que la visualización de múltiples elementos se puede conseguir usando múltiples vistas dentro de un LC 152.Reference is made to Figures 8-9, which are schematic block diagram illustrations of the WBS 100 demonstrating in particular views and modules managing said views, according to some demonstrative embodiments of the present invention. Each view 155 may be a special type of template used to display collection items. Each view 155 displays a single element; while displaying multiple elements can be achieved using multiple views within an LC 152.

El WBS 100 puede comprender un gestor 156 de vistas, que puede utilizar diferentes vistas 155 para diferentes elementos en la misma colección. Por ejemplo, si un usuario pasa entre registros de blog que tienen múltiples formatos (p. ej., entradas de texto, entradas de imagen, entradas de vídeo), la vista 155 usada para visualizar puede cambiar de elemento a elemento, alterando el formato de visualización sobre la marcha.The WBS 100 may comprise a view manager 156, which may use different views 155 for different elements in the same collection. For example, if a user moves between blog posts that have multiple formats (e.g., text entries, image entries, video entries), the view 155 used to display may change from item to item, altering the format. on-the-fly viewing.

La vista 155 puede incluir elementos 157 de vista fijos, que siempre se aplican a (o están incluidos en) la vista visualizada; y/o elementos 158 de vista condicionales que pueden estar asociados con las condiciones 159 de la vista. Por ejemplo, los elementos 158 de vista condicionales pueden depender de uno o más de los siguientes: (a) la existencia de un campo de datos dado en el elemento subyacente; (b) el valor de un campo de datos dado en el elemento subyacente; (c) una fórmula establecida previamente que involucre valores de campos de datos y relaciones entre ellos; (d) parámetros de la visualización de LC 152 (p. ej., visualizar un campo dado solo cuando se visualiza en una galería de tipo lista); (e) atributos del usuario, obtenidos del perfil de usuario u otras fuentes (p. ej., visualizar un campo particular solo a usuarios internos dentro de una organización, o solo a usuarios localizados en una determinada región); (f) modo de utilización (p. ej., si la vista 155 se usa para creación, edición o visualización).The view 155 may include fixed view elements 157, which always apply to (or are included in) the displayed view; and/or conditional view elements 158 that may be associated with the conditions 159 of the view. For example, conditional view elements 158 may depend on one or more of the following: (a) the existence of a given data field in the underlying element; (b) the value of a given data field in the underlying element; (c) a previously established formula involving data field values and relationships between them; (d) LC display parameters 152 (e.g., displaying a given field only when viewed in a list-type gallery); (e) user attributes, obtained from the user profile or other sources (e.g., displaying a particular field only to internal users within an organization, or only to users located in a certain region); (f) mode of use (e.g., whether view 155 is used for creation, editing or viewing).

En una implementación demostrativa, la vista 155 puede comprender uno o más de los siguientes elementos: (a) elementos 157 de la vista normales o fijos (p. ej., títulos de página, imágenes de fondo); (b) componentes 162 de datos que se rellenan con datos del elemento visualizado (p. ej., el precio de una casa ofrecida a la venta, la imagen de dicha casa, un texto descriptivo); (c) componentes 163 repetidores usados para visualizar listas relacionadas dentro de la vista (como se detalla en el presente documento); (d) componentes 164 calculados que visualizan información calculada en base al contenido del elemento visualizado (p. ej., el valor del impuesto sobre el valor añadido (IVA) para un precio extraído de un campo de precio numérico); (e) elementos 158 de vista condicionales cuya inclusión en la visualización (o cuyos atributos) depende de las condiciones 159 de la vista (p. ej., una cinta de color visualizada para elementos de restaurante que tienen un valor predefinido en el campo "oferta del día"); (f) reglas 161 de validación de datos, que pueden depender de las condiciones 159 de la vista; (g) elementos 165 de diseño dinámico condicionales, que pueden ser reglas de diseño dinámico y anclajes que pueden depender de las condiciones 159 de la vista. In a demonstrative implementation, view 155 may comprise one or more of the following elements: (a) normal or fixed view elements 157 (e.g., page titles, background images); (b) data components 162 that are populated with data from the displayed item (e.g., the price of a house offered for sale, the image of said house, a descriptive text); (c) repeater components 163 used to display related lists within the view (as detailed herein); (d) calculated components 164 that display information calculated based on the content of the displayed item (e.g., the value added tax (VAT) value for a price extracted from a numeric price field); (e) conditional view elements 158 whose inclusion in the display (or whose attributes) depends on the conditions 159 of the view (e.g., a colored ribbon displayed for restaurant elements that have a predefined value in the "field" offer of the day"); (f) data validation rules 161, which may depend on the conditions 159 of the view; (g) conditional dynamic layout elements 165, which can be dynamic layout rules and anchors that can depend on the conditions 159 of the view.

El WBS 100 puede comprender un módulo 166 de herencia de vista que permite que una vista 155 herede de una o más vistas 155, con adiciones, supresiones y cambios aplicados. Por ejemplo, una vista de "camisa" puede heredar de una vista de "prenda" y puede tener el componente adicional "mangas (cortas/largas)", con lo cual crea una vista 167 derivada.The WBS 100 may comprise a view inheritance module 166 that allows a view 155 to inherit from one or more views 155, with additions, deletions, and changes applied. For example, a "shirt" view can inherit from a "garment" view and can have the additional component "sleeves (short/long)", thereby creating a derived view.

Cabe señalar que las vistas y los tipos de elementos son entidades diferentes y residen en grupos diferentes, aunque ambos pueden comprender subentidades similares a los campos y pueden tener relaciones de herencia (los elementos pueden heredar de otros elementos en el grupo de elementos y las vistas pueden heredar de otras vistas en el grupo de vistas). El tipo de elemento define qué campos se incluyen en el elemento, mientras que la vista define cómo se visualizan estos campos. El WBS 100 puede comprender un constructor 169 de vista dinámica que permite la construcción dinámica de vistas en base a la información de tipo de plantilla subyacente y el elemento específico que se visualiza.It should be noted that views and item types are different entities and reside in different groups, although both can comprise sub-entities similar to fields and can have inheritance relationships (elements can inherit from other elements in the element group, and views can inherit from other views in the view group). The item type defines which fields are included in the item, while the view defines how these fields are displayed. The WBS 100 may comprise a dynamic view builder 169 that allows for the dynamic construction of views based on the underlying template type information and the specific element being displayed.

Uno o más grupos de vistas 168 pueden implementarse a nivel de aplicación, a nivel de diseñador o a nivel de WBS. Opcionalmente, las vistas 155 pueden estar predefinidas para asociarse con tipos de elementos, de modo que una vista 155 particular siempre debe "pertenecer' a un tipo de elemento dado (o a tipos de elementos heredados del mismo).One or more view groups 168 may be implemented at the application level, designer level, or WBS level. Optionally, views 155 may be predefined to be associated with element types, such that a particular view 155 must always 'belong' to a given element type (or element types inherited from it).

Uso de vistas para la visualización de elementosUsing views to display elements

El WBS 100 puede comprender un módulo 170 de visualización de elemento, que puede visualizar un elemento usando un algoritmo predefinido. En primer lugar, se localiza (o se crea sobre la marcha) una composición de vista para la visualización del elemento; por ejemplo, el módulo 170 de visualización de elemento puede localizar una vista asociada previamente con el elemento, o una vista seleccionada buscando en el grupo de vistas disponibles; y si no se localiza una vista adecuada, entonces el módulo 170 de visualización de elemento puede construir automáticamente una vista adecuada "sobre la marcha" en base a la definición del elemento. En segundo lugar, el módulo 170 de visualización de elemento puede crear una versión completa de la vista seleccionada: (a) buscar la composición de cada componente de datos con un campo en el elemento (si es posible) y usar el contenido de los campos de composición; (b) determinar el valor de todos los componentes calculados; (c) determinar si se deben incluir o no elementos de vista condicionales. Posteriormente, el módulo 170 de visualización de elemento puede realizar un diseño dinámico en la vista completa, con lo cual aplica modificaciones de diseño resultantes de cambios en el contenido de los campos, elementos de vista condicionales o similares; y puede proceder a visualizar la vista completa.The WBS 100 may comprise an item display module 170, which may display an item using a predefined algorithm. First, a view composition for the display of the element is located (or created on the fly); For example, the item display module 170 may locate a view previously associated with the item, or a selected view by searching the group of available views; and if a suitable view is not located, then the element display module 170 may automatically construct a suitable view "on the fly" based on the element definition. Second, the element display module 170 can create a complete version of the selected view: (a) find the composition of each data component with a field in the element (if possible) and use the contents of the fields Of composition; (b) determine the value of all calculated components; (c) determine whether or not to include conditional view elements. Subsequently, the element display module 170 may perform dynamic layout on the entire view, thereby applying layout modifications resulting from changes in the content of fields, conditional view elements, or the like; and you can proceed to display the full view.

Cabe señalar que el proceso se puede realizar para múltiples elementos de colección; por ejemplo, cuando se visualiza un LC 152, que es un contenedor de varias páginas de tipo galería que visualiza múltiples elementos de colección simultáneamente.It should be noted that the process can be performed for multiple collection items; for example, when viewing an LC 152, which is a gallery-type multi-page container that displays multiple collection items simultaneously.

Componentes repetidores y uso de vistas dentro de vistasRepeater Components and Using Views Within Views

La vista 155 puede contener uno o más componentes 163 repetidores. Cada componente 163 repetidor puede ser en general similar al LC 152, pero está contenido dentro de la vista 155. Cada componente 163 repetidor visualiza una lista determinada y típicamente puede visualizar una lista relacionada con el elemento principal que se visualiza en la vista 155. Por ejemplo, un elemento de persona puede estar relacionado con otros elementos de persona (p. ej., amigos de esa persona) y con elementos de automóvil (p. ej., automóviles que son propiedad de esa persona). La vista de persona puede contener dos componentes 163 repetidores que visualizan estas listas (la lista de "amigos" y la lista de "automóviles"). Estos dos componentes 163 repetidores mostrarían las listas específicas asociadas con la persona actual que se está visualizando o resaltando en el LC 152 que visualiza la persona principal. Obsérvese que los LC repetidores deben diferenciarse de los LC compuestos como se describe anteriormente (y se demuestra en la figura 23A): los LC repetidores visualizan diferentes listas relacionadas en diferentes LC, mientras que los LC compuestos incluyen múltiples listas que se visualizan dentro de un solo LC.The view 155 may contain one or more repeater components 163. Each repeater component 163 may be generally similar to LC 152, but is contained within view 155. Each repeater component 163 displays a particular list and may typically display a list related to the parent item displayed in view 155. For example, For example, a person element can be related to other person elements (e.g., friends of that person) and to car elements (e.g., cars owned by that person). The person view can contain two 163 repeater components that display these lists (the "friends" list and the "cars" list). These two repeater components 163 would display the specific lists associated with the current person being displayed or highlighted in the LC 152 displaying the primary person. Note that repeater LCs should be differentiated from composite LCs as described above (and demonstrated in Figure 23A): repeater LCs display different related lists on different LCs, while composite LCs include multiple lists that are displayed within a LC only.

A menos que sea anulado por parámetros de configuración específicos, un módulo 171 de visualización de componente repetidor puede garantizar que un componente 163 repetidor visualice una lista usando los mismos atributos de vista (p. ej., nombre, contexto) que la vista 155 usada para visualizar el componente principal. Por ejemplo, una vista llamada XYZ para el tipo A puede usarse para visualizar elementos del tipo A; cada uno de los elementos del tipo A puede estar vinculado a un conjunto de elementos del tipo B; la lista de elementos de tipo B (relacionados con el tipo A actual) se visualizaría en el componente 163 repetidor (por defecto, a menos que se configure de otra manera) usando una vista denominada XYZ para el tipo B.Unless overridden by specific configuration parameters, a repeater component display module 171 may ensure that a repeater component 163 displays a list using the same view attributes (e.g., name, context) as the view 155 used to display the main component. For example, a view named XYZ for type A can be used to display elements of type A; each of the elements of type A can be linked to a set of elements of type B; the list of type B items (related to the current type A) would be displayed in the repeater component 163 (by default, unless configured otherwise) using a view named XYZ for type B.

Uso de las páginas del sitio web para la visualización de elementoUsing website pages for item display

En algunas realizaciones de la presente invención, en lugar de las vistas que se usan para visualizar elementos dentro de los LC, el sistema puede utilizar páginas del sitio web directamente como si fueran vistas. En este caso, el sistema puede visualizar datos extraídos de los elementos asociados directamente dentro de los componentes de datos incluidos en la página del sitio web. Por ejemplo, el diseñador puede incluir componentes de datos dentro de una página de sitio web normal y puede especificar de qué elemento se deben extraer sus datos. Opcionalmente, un convertidor 172 de página web/vista puede estar comprendido en el WBS 100 para implementar la conversión o los ajustes para utilizar una página web como una vista.In some embodiments of the present invention, instead of views being used to display elements within LCs, the system may use website pages directly as if they were views. In this case, the system can display data extracted from the associated elements directly within the data components included in the website page. For example, the designer can include data components within a regular website page and can specify which element their data should be extracted from. Optionally, a web page/view converter 172 may be comprised in the WBS 100 to implement conversion or settings to use a web page as a view.

El elemento que se usará como fuente de datos puede seleccionarse entre una o más formas adecuadas, para cada componente de datos; por ejemplo, de estos elementos candidatos: (a) un elemento asociado específicamente con la página del sitio web (y, por lo tanto, si este elemento se cambia, tal como en otra página heredando de la página actual, esto afectaría a todos los componentes de datos); (b) un elemento asociado previamente para este componente específico; (c) un elemento que responde a una consulta especificada en el nivel de página o componente. El componente de datos también puede especificar el campo de datos que se usará directamente, o puede usar un mecanismo de consulta/detección de campo.The element to be used as a data source can be selected from one or more suitable shapes, for each data component; for example, of these candidate elements: (a) an element specifically associated with the website page (and therefore, if this element is changed, such as in another page inheriting from the current page, this would affect all data components); (b) a previously associated element for this specific component; (c) an element that answers a query specified at the page or component level. He data component can also specify the data field to be used directly, or can use a field query/detection mechanism.

Opcionalmente, dicha página puede construirse y convertirse en una plantilla, para ser reutilizada para visualizar diferentes elementos dentro de un conjunto de páginas construido manualmente. Es posible que el diseñador solo necesite especificar qué componente cambiaría cuando se asocie un elemento alternativo con la página.Optionally, said page can be built and converted into a template, to be reused to display different elements within a manually constructed set of pages. The designer may only need to specify which component would change when an alternate element is associated with the page.

Proceso de tres etapasThree stage process

Se hace referencia a la figura 10, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular módulos de un proceso de tres etapas de composición/construcción y compleción de vista, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender, por ejemplo: (a) un módulo 109A de composición de vista con elemento, que puede buscar y localizar una composición de vista para el elemento o elementos a visualizar, y puede construir dinámicamente una vista sobre la marcha si no se encuentra una vista predefinida adecuada; (b) un módulo 109B de compleción de vista, que puede crear una vista completa en base a los campos de la vista y los campos de los elementos; y (c) un aplicador 109C de DL que puede aplicar un diseño dinámico a la vista completa.Reference is made to Figure 10, which is a schematic block diagram illustration of the WBS 100 demonstrating in particular modules of a three-step composition/construction and view completion process, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise, for example: (a) a view composition module 109A with element, which can search and locate a view composition for the element or elements to be displayed, and can dynamically construct a view on the fly if not a suitable predefined view is found; (b) a view completion module 109B, which can create a complete view based on the fields of the view and the fields of the elements; and (c) a DL applicator 109C that can apply a dynamic layout to the entire view.

Etapa 1: localizar una composición de vista para el elemento (o tipo de elemento)Stage 1: Locate a view composition for the element (or element type)

Se hace referencia a la figura 11, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la localización de la vista (o composición de la vista con el elemento), según algunas realizaciones demostrativas de la presente invención. Esta puede ser la primera etapa del proceso de tres etapas mencionado anteriormente.Reference is made to Figure 11, which is a block diagram schematic illustration of the WBS 100 demonstrating in particular the location of the view (or composition of the view with the element), according to some demonstrative embodiments of the present invention. This may be the first stage of the three-stage process mentioned above.

La etapa de localizar una composición de vista para el elemento o elementos puede realizarse, por ejemplo: (i) mediante un módulo 112A de asociación previa de vista para asociar previamente vistas con elementos y/o con tipos de elementos; (ii) mediante un módulo 112B de búsqueda de vista para buscar en el grupo de vistas disponibles; y/o (iii) mediante un constructor 112C de vista dinámico sobre la marcha para construir dinámicamente una vista adecuada "sobre la marcha".The step of locating a view composition for the element(s) may be performed, for example: (i) using a view preassociation module 112A to preassociate views with elements and/or with element types; (ii) using a view search module 112B to search the group of available views; and/or (iii) using an on-the-fly dynamic view builder 112C to dynamically construct a suitable view "on the fly."

Asociación previa de vistas con elementos y/o con tipos de elementosPrevious association of views with elements and/or with element types

Se hace referencia a la figura 12, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular una asociación previa de vista, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un módulo 173 de asociación previa de vista (que puede ser similar al módulo 112A de asociación previa de vista mencionado anteriormente), para permitir la asociación previa de una vista (o múltiples vistas) con elementos particulares y/o con tipos de elementos particulares. Esto se puede hacer durante la creación o edición de los elementos y/o tipos de elementos específicos, o durante la creación o edición de elementos y tipos de elementos heredados.Reference is made to Figure 12, which is a block diagram schematic illustration of the WBS 100 particularly demonstrating a preview association, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise a view preview association module 173 (which may be similar to the view preview association module 112A mentioned above), to allow the preview association of a view (or multiple views) with particular elements and / or with particular types of elements. This can be done during the creation or editing of specific elements and/or element types, or during the creation or editing of inherited elements and element types.

La asociación de vista única puede realizarla el diseñador, quien puede asociar explícitamente una vista con cualquier tipo de elemento dado, y la asociación se usará para todos los elementos que tengan el tipo de elemento dado. La asociación se puede usar además para todos los tipos de elementos heredados del tipo de elemento dado, a menos que tengan su propia vista asignada explícitamente. El diseñador también puede asociar explícitamente una vista con cualquier elemento específico, con lo cual anula la vista asociada con el tipo de elemento del elemento dado.Single view association can be done by the designer, who can explicitly associate a view with any given element type, and the association will be used for all elements that have the given element type. The association can additionally be used for all element types inherited from the given element type, unless they have their own view explicitly assigned. The designer can also explicitly associate a view with any specific element, thereby overriding the view associated with the element type of the given element.

Opcionalmente, un módulo 113A de asociación previa basada en atributos puede permitir que una vista sea asociada previamente por medio de parámetros 113D de atributo (que incluyen el uso de asociación basada en contexto, nombres específicos de tipo y asociación adaptada a la herencia como se describe más adelante). Por ejemplo, la asociación previa basada en atributos se puede usar cuando el sistema necesita vincular vistas según el nombre genérico, el contexto, la clase u otros parámetros. El módulo 113A de asociación previa basada en atributos puede admitir la asociación previa basada en atributos de la siguiente manera: (a) el sistema define atributos específicos para las vistas (p. ej., nombre, contexto); (b) el creador de la vista asigna valores a estos atributos; (c) el diseñador (usando la lista y la vista) especifica el valor para el atributo dado; (d) la vista se seleccionaría en base a los valores de atributos proporcionados (p. ej., nombre, contexto).Optionally, an attribute-based pre-association module 113A may allow a view to be pre-associated via attribute parameters 113D (including the use of context-based association, type-specific names, and inheritance-adapted association as described later). For example, attribute-based prebinding can be used when the system needs to bind views based on generic name, context, class, or other parameters. The attribute-based preassociation module 113A may support attribute-based preassociation as follows: (a) the system defines specific attributes for the views (e.g., name, context); (b) the view creator assigns values to these attributes; (c) the designer (using the list and the view) specifies the value for the given attribute; (d) the view would be selected based on the provided attribute values (e.g., name, context).

En un ejemplo demostrativo, el sistema puede incluir un atributo 113E de nombre para cada vista, único para cada tipo de elemento. El diseñador puede especificar el nombre de la vista que se usará al definir el LC (o la página web). Para cada tipo de elemento, se usaría la vista que tiene el nombre dado y está asociada con el tipo de elemento dado. Cabe señalar que puede haber múltiples vistas con el mismo nombre para diferentes tipos de elementos; y por lo tanto, especificar el nombre de la vista en realidad puede crear relaciones de asociación múltiples (p. ej., como se indica en el presente documento para los componentes repetidores).In a demonstrative example, the system may include a name attribute 113E for each view, unique for each element type. The designer can specify the name of the view to use when defining the LC (or web page). For each item type, the view that has the given name and is associated with the given item type would be used. It should be noted that there can be multiple views with the same name for different types of elements; and therefore specifying the view name can actually create multiple association relationships (e.g., as noted herein for repeater components).

En otro ejemplo demostrativo, el sistema puede asignar un atributo 113F de contexto, con los valores posibles de "modo miniatura" y "modo zoom". El diseñador puede especificar para un LC dado (o componente repetidor o página web) el contexto para la selección de vista (p. ej., modo miniatura o modo zoom), y la vista seleccionada (para cada tipo) sería la vista que tiene el contexto dado. Los ejemplos demostrativos se muestran en las figuras 23A y 25, que muestran la misma aplicación de lista de restaurantes, que incluye las tres colecciones (menú, sección y plato) y los tipos de elementos de composición. Sin embargo, existen múltiples vistas asociadas con cada uno de los 3 tipos, y estos están dispuestos como diseños, definiendo cada diseño una vista específica para cada uno de los 3 tipos. Como se puede observar en estas figuras, el usuario puede seleccionar un diseño en el área de selección de diseño (p. ej., diseño [x] en la figura 23B y diseño [y] en la figura 25) y esto afecta a la vista usada para cada uno de los 3 tipos de elementos. El nombre/código del diseño sirve como variable de contexto en este caso.In another demonstrative example, the system may assign a context attribute 113F, with the possible values of "thumbnail mode" and "zoom mode." The designer can specify for a given LC (or repeater component or web page) the context for view selection (e.g., thumbnail mode or zoom mode), and the selected view (for each type) would be the view that has the given context. Demonstrative examples are shown in Figures 23A and 25, which They show the same restaurant list app, which includes all three collections (menu, section, and dish) and composition item types. However, there are multiple views associated with each of the 3 types, and these are arranged as layouts, with each layout defining a specific view for each of the 3 types. As can be seen in these figures, the user can select a design in the design selection area (e.g., design [x] in Figure 23B and design [y] in Figure 25) and this affects the view used for each of the 3 types of elements. The design name/code serves as the context variable in this case.

De forma alternativa, se pueden asociar explícitamente varias vistas con un elemento o tipo de elemento dado. En estos casos, un módulo 173B de selector condicional puede definir y/o imponer una o más condiciones bajo las cuales se selecciona una de las vistas asociadas. Estas condiciones pueden incluir, por ejemplo: (a) el tipo de LC usado para visualizar el elemento (p. ej., un contenedor de área grande puede usar una vista detallada (que visualiza muchos campos), mientras que un contenedor de tipo galería puede usar una vista más pequeña que incluye una miniatura y solo un texto descriptivo); (b) el contenido de un campo "selector" específico en el elemento que se visualiza; (c) la identidad del usuario que accede a la colección, o propiedades específicas en el perfil de usuario del usuario que accede (p. ej., un empleado de la tienda en línea puede ver más información en campos adicionales, en relación con el contenido que se visualiza a un usuario invitado visitante).Alternatively, multiple views can be explicitly associated with a given element or element type. In these cases, a conditional selector module 173B may define and/or impose one or more conditions under which one of the associated views is selected. These conditions may include, for example: (a) the type of LC used to display the item (e.g., a large area container may use a detailed view (which displays many fields), while a gallery-type container you can use a smaller view that includes a thumbnail and just some descriptive text); (b) the contents of a specific "selector" field in the displayed element; (c) the identity of the user accessing the collection, or specific properties in the user profile of the accessing user (e.g., an employee of the online store can see more information in additional fields, in relation to the content that is displayed to a visiting guest user).

Opcionalmente, se puede usar un módulo de asociación de vista por función 173C para asociar diferentes vistas para diferentes funciones y para ejecutar dicha asociación. Por ejemplo, el WBS 100 puede asignar diferentes vistas para la visualización de elementos, creación de elementos y actualización de elementos. El diseñador puede definir estas vistas y también puede especificar que una determinada vista se usará para múltiples funciones (p. ej., se usará tanto para la creación como para la actualización de elementos).Optionally, a view-by-function association module 173C may be used to associate different views for different functions and to execute such association. For example, the WBS 100 can assign different views for displaying elements, creating elements, and updating elements. The designer can define these views and can also specify that a given view will be used for multiple functions (e.g., it will be used for both creating and updating elements).

Búsqueda en el grupo de vistas disponiblesSearching the group of available views

Se hace referencia a la figura 13, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la búsqueda de vista, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un buscador 174 de grupo de vistas (un módulo buscador para buscar grupos de vistas), que puede ejecutar una consulta de búsqueda en el grupo de vistas para localizar una composición de vista. El grupo de vistas aplicable se puede definir en cualquier nivel adecuado, por ejemplo, el nivel de sistema, el nivel de aplicación, el nivel de colección de elementos o el nivel de tipo de elemento. También puede ser una combinación de varios grupos (p. ej., definidos en diferentes niveles).Reference is made to Figure 13, which is a schematic block diagram illustration of the WBS 100 particularly demonstrating view search, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise a view group finder 174 (a finder module for searching view groups), which may execute a search query on the view group to locate a view composition. The applicable view group can be defined at any suitable level, for example, the system level, the application level, the item collection level, or the item type level. It can also be a combination of several groups (e.g., defined at different levels).

El buscador 174 de grupo de vistas puede utilizar uno o más tipos de consulta adecuados, por ejemplo, basado en palabra clave, campo de composición de campo, atributo de composición, parámetros relacionados con la aplicación u otros tipos de consulta adecuados. El buscador 174 de grupo de vistas puede combinar dos o más de los procedimientos de consulta, por ejemplo, para seleccionar entre las vistas que tienen campos de composición mientras se aplica una condición particular a los atributos de la vista.The view group search engine 174 may use one or more suitable query types, for example, keyword-based, field composition field, composition attribute, application-related parameters, or other suitable query types. The view group finder 174 may combine two or more of the query procedures, for example, to select among views that have composition fields while applying a particular condition to the attributes of the view.

En la búsqueda de vista basada en palabra clave, que puede implementarse usando un módulo o submódulo de buscador 174A de vista basado en palabra clave, tanto los tipos de elementos como las vistas pueden tener palabras clave adjuntas o asociadas (p. ej., una o más palabras clave, posiblemente seleccionadas entre una lista predefinida). El algoritmo de composición intenta localizar las vistas que tienen la mayor composición de palabras clave con la lista de palabras clave del tipo de elemento.In keyword-based view search, which may be implemented using a keyword-based view finder module or submodule 174A, both item types and views may have keywords attached or associated with them (e.g., a or more keywords, possibly selected from a predefined list). The composition algorithm attempts to locate the views that have the highest composition of keywords with the item type's keyword list.

En la búsqueda de composición de vista de campos, un módulo o submódulo de buscador 174B de composición de campos puede buscar la vista que tiene la mejor composición de conjunto de componentes con el conjunto de campos en el elemento. La composición se puede realizar según los nombres de los campos, atributos o identificaciones de composición especiales. La calificación, puntuación o clasificación de las composiciones puede realizarse mediante un módulo 175 de puntuación/clasificación, por ejemplo, comparando el número de campos de composición, o usando una ponderación por campo para calcular una puntuación ponderada.In field view composition search, a field composition finder module or submodule 174B may search for the view that has the best component set composition with the field set in the element. Composition can be done based on field names, attributes, or special composition IDs. Rating, scoring, or ranking of compositions may be performed using a scoring/ranking module 175, for example, by comparing the number of composition fields, or using a per-field weighting to calculate a weighted score.

Opcionalmente, se puede definir y usar un diccionario 176 de datos de campo (p. ej., a nivel de sistema, nivel de aplicación u otro nivel) para la creación de campos de tipo de elemento y componentes de vista. La composición se puede realizar usando el diccionario 176 de datos de campo, por ejemplo, utilizando un buscador 177 de diccionario para localizar componentes de vista y campos de elementos que tengan un campo de composición por diccionario de datos subyacente.Optionally, a field data dictionary 176 can be defined and used (e.g., at the system level, application level, or other level) for the creation of item type fields and view components. Composition can be performed using field data dictionary 176, for example, using a dictionary finder 177 to locate view components and element fields that have one composition field per underlying data dictionary.

Un buscador 178 basado en atributos puede realizar una búsqueda basada en atributos. Por ejemplo, las vistas pueden tener atributos adicionales asignados para ayudar a encontrar composiciones de vistas con elementos. El tipo de elemento (o el elemento) puede incluir una consulta (usando un lenguaje de consulta o expresión adecuado) que se aplica a las vistas relevantes o disponibles para seleccionar qué vistas son la mejor composición para este elemento en base al uno o más atributos de vista. La consulta se puede especificar completamente (p. ej., incluir todas las condiciones) o se puede parametrizar para incluir uno o más parámetros, por ejemplo: (a) valores específicos de elemento (p. ej., la consulta se especifica en el nivel de tipo de elemento, pero tiene parámetros específicos rellenados por el elemento); (b) valores de campo de datos de elemento (p. ej., parámetros basados en campos de datos en el elemento específico); (c) tipo de LC (p. ej., parámetros que dependen del LC específico en el que se va a visualizar la vista), por ejemplo, de modo que el tamaño de LC y el tipo de contenedor puedan determinar qué tamaño de vista es óptimo; y/o (d) valores generales de entorno (p. ej., la clasificación y los privilegios de usuario). La búsqueda basada en atributos puede implementarse como una versión generalizada de la asociación previa de atributo de vista (p. ej., por medio del nombre/contexto) descrita anteriormente.An attribute-based search engine 178 may perform an attribute-based search. For example, views can have additional attributes assigned to help find view compositions with elements. The element type (or element) may include a query (using an appropriate query language or expression) that is applied to the relevant or available views to select which views are the best composition for this element based on the one or more attributes of sight. The query can be fully specified (e.g., include all conditions) or can be parameterized to include one or more parameters, for example: (a) element-specific values (e.g., the query is specified in the element type level, but has specific parameters filled by the element); (b) element data field values (e.g., parameters based on data fields in the specific element); (c) LC type (e.g., parameters that depend on the specific LC on which the image is to be displayed). view), for example, so that the LC size and container type can determine which view size is optimal; and/or (d) general environment settings (e.g., user classification and privileges). Attribute-based search can be implemented as a generalized version of the view attribute pre-association (e.g., via name/context) described above.

Opcionalmente, la composición del tipo de elemento y vista se puede realizar en base a parámetros relacionados con la aplicación, utilizando un buscador 179 de parámetros relacionados con la aplicación. La búsqueda de la vista puede, por lo tanto, tener en cuenta parámetros relacionados con la aplicación; por ejemplo, se pueden seleccionar diferentes vistas dinámicamente para el primer y último elemento en el resultado de una consulta de filtro. De esta manera, los botones de navegación "siguiente" y "anterior" se pueden visualizar dinámicamente según sea necesario.Optionally, element and view type composition can be performed based on application-related parameters, using a search engine 179 for application-related parameters. The view search can therefore take into account parameters related to the application; For example, different views can be selected dynamically for the first and last item in the result of a filter query. This way the "next" and "previous" navigation buttons can be displayed dynamically as needed.

Un manejador 180 de resultados de composición múltiples puede manejar resultados múltiples, puesto que algunas de las técnicas de composición descritas anteriormente pueden producir múltiples vistas candidatas para la visualización de un elemento particular. En dicho caso, se puede usar la clasificación de composición (p. ej., en general similar a la clasificación del motor de búsqueda) para seleccionar la mejor vista a usar entre los resultados candidatos. Además, el manejador 180 de resultados de composición múltiples puede optar por usar la mejor composición encontrada, pero puede conservar la lista de vistas candidatas y puede proporcionar un elemento GUI que permite al usuario conmutar la visualización para utilizar una de las otras vistas candidatas que se han encontrado.A multiple composition results handler 180 can handle multiple results, since some of the composition techniques described above can produce multiple candidate views for the display of a particular element. In such a case, compositional sorting (e.g., generally similar to search engine sorting) can be used to select the best view to use among the candidate results. Additionally, the multiple composition results handler 180 may choose to use the best composition found, but may retain the list of candidate views and may provide a GUI element that allows the user to toggle the display to use one of the other candidate views that are displayed. They have found.

Un manejador 181 de reserva puede garantizar la reserva al tipo de elemento matriz. Por ejemplo, los tipos de elementos se pueden crear a través de un proceso de herencia basado en otros tipos de elementos y un conjunto de modificaciones. Si no se ha encontrado ningún resultado (o ningún resultado "bueno", composición de alta calidad o composición de alta puntuación) para el elemento y el tipo de elemento dados, entonces el manejador 181 de reserva puede ordenar que se vuelva a ejecutar el proceso de composición usando los valores de datos del mismo elemento (si es pertinente) pero usa el tipo de elemento que es la matriz del tipo de elemento actual. Por ejemplo, un tipo de elemento "camisa" puede derivar del tipo de elemento matriz "producto"; si no se ha encontrado ninguna vista de composición (o ninguna vista de composición de puntuación alta) para un elemento del tipo "camisa", entonces el proceso de composición puede repetirse automáticamente, esta vez usando el tipo de elemento matriz "producto" en lugar del tipo de elemento " camisa".A reservation handler 181 may guarantee reservation to the array element type. For example, item types can be created through an inheritance process based on other item types and a set of modifications. If no results (or no "good" results, high-quality composition, or high-scoring composition) have been found for the given element and element type, then the fallback handler 181 may order the process to be rerun. composition using the data values of the same element (if applicable) but uses the element type which is the array of the current element type. For example, an element type "shirt" can be derived from the parent element type "product"; If no composition view (or no high-scoring composition view) has been found for an element of type "shirt", then the composition process can be repeated automatically, this time using the parent element type "product" instead of the element type "shirt".

Construcción de vista dinámicaDynamic view construction

Se hace referencia a la figura 14, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la construcción de vista dinámica, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un constructor 182 de vista dinámica, para generar dinámicamente "sobre la marcha" una o más vistas según sea necesario o preferido para visualizar los campos de elementos, en lugar de buscar en un grupo de vistas existentes; o, además de buscar en un grupo de vistas existentes (p. ej., si no se encuentra ninguna composición en el grupo de vistas existente; o si solo se encuentran composiciones de puntuación baja). Las directivas de construcción de vista automática se pueden predefinir o proporcionar, conjuntamente con las definiciones de campo.Reference is made to Figure 14, which is a block diagram schematic illustration of the WBS 100 particularly demonstrating the dynamic view construction, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise a dynamic view builder 182, to dynamically generate "on the fly" one or more views as needed or preferred to display element fields, rather than searching through a group of existing views; or, in addition to searching an existing view group (e.g., if no compositions are found in the existing view group; or if only low-scoring compositions are found). Automatic view construction policies can be predefined or provided, along with field definitions.

En una implementación demostrativa, por ejemplo, el constructor 182 de vista dinámica puede implementar varias plantillas de vista genérica y abstracta que solo dividen el área de visualización en múltiples regiones, implementadas usando un módulo o submódulo divisor 182A de regiones en la vista. Cada tipo de elemento puede especificar qué plantilla genérica usar. Cada campo puede especificar, por ejemplo, la región en la que se debe ubicar el campo y un código de alineación que indica dónde se debe añadir el campo (p. ej., arriba a la izquierda, abajo al centro), así como también cómo se puede relacionar el campo o campos anteriores en la misma área de la región (p. ej., unir después del campo anterior; nueva línea; debajo, pero alineado a la izquierda de la misma manera). Un campo también puede especificar anclajes de tipo de diseño dinámico u otras reglas de diseño (p. ej., especificar que dos campos particulares deben alinearse verticalmente). El constructor 182 de vista dinámica puede así crear una vista adecuada para cada tipo de elemento automáticamente en base a las directivas y reglas proporcionadas. Esto puede ser particularmente útil para la creación automática de formularios de entrada de datos, formularios de actualización y/u otros formularios. In a demonstrative implementation, for example, the dynamic view constructor 182 can implement several generic and abstract view templates that only divide the display area into multiple regions, implemented using a region divider module or submodule 182A in the view. Each element type can specify which generic template to use. Each field can specify, for example, the region in which the field should be placed and an alignment code that indicates where the field should be added (e.g., top left, bottom center), as well as how the previous field or fields can be related to the same area of the region (e.g., join after the previous field; new line; below, but left aligned in the same way). A field can also specify dynamic layout type anchors or other layout rules (e.g., specifying that two particular fields should be aligned vertically). The dynamic view constructor 182 can thus create a suitable view for each element type automatically based on the provided directives and rules. This can be particularly useful for automatically creating data entry forms, update forms, and/or other forms.

Búsqueda de vista integrada/construcción dinámicaIntegrated View Search/Dynamic Construction

Como se describe anteriormente, el WBS 100 puede localizar vistas (usando asociación previa o búsqueda) o puede crear vistas dinámicamente. Además, el WBS 100 también puede integrar los dos procedimientos, localizando una vista base y luego ampliándola (cuando sea necesario) o modificándola de otro modo (a través de un módulo 182B modificador de vista localizada) usando las técnicas de construcción de vista dinámica mencionadas anteriormente (p. ej., zonas de llegada). Esto se puede implementar usando un módulo 183 buscador/constructor, y puede ser particularmente útil para elementos que tienen un formato de base relativamente fijo (y un conjunto de campos), que también tienen campos adicionales añadidos dinámicamente (p. ej., fuente RSS con campos opcionales).As described above, the WBS 100 may locate views (using preassociation or search) or may create views dynamically. Additionally, the WBS 100 may also integrate the two procedures, locating a base view and then expanding it (when necessary) or otherwise modifying it (via a localized view modifier module 182B) using the aforementioned dynamic view construction techniques. previously (e.g. arrival zones). This can be implemented using a finder/builder module 183, and can be particularly useful for elements that have a relatively fixed base format (and set of fields), which also have additional fields added dynamically (e.g. RSS feed with optional fields).

Selección de vista y visualización polimórficaView selection and polymorphic display

Se hace referencia a la figura 15, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la selección de vista y visualización polimórfica, según algunas realizaciones demostrativas de la presente invención. En algunos casos, pueden estar disponibles múltiples vistas (p. ej., vistas 155A, 155B y 155C) para la visualización del mismo elemento. Esto puede producirse, por ejemplo, debido a que el diseñador ha asociado previamente múltiples vistas con el mismo elemento (o tipo de elemento), o debido a una consulta de selección de vista que ha dado como resultado múltiples composiciones de vistas. El conjunto de posibles composiciones de vistas puede conocerse de antemano (p. ej., si se han asociado previamente con el elemento), o puede determinarse dinámicamente (p. ej., en el caso de vistas localizadas usando una consulta de composición). Reference is made to Figure 15, which is a schematic block diagram illustration of the WBS 100 particularly demonstrating view selection and polymorphic display, according to some demonstrative embodiments of the present invention. In some cases, multiple views may be available (e.g., views 155A, 155B, and 155C) for the display of the same element. This may occur, for example, because the designer has previously associated multiple views with the same element (or element type), or because of a view selection query that has resulted in multiple view compositions. The set of possible view compositions may be known in advance (e.g., if they have been previously associated with the element), or may be determined dynamically (e.g., in the case of localized views using a composition query).

En estos casos, el WBS 100 puede proporcionar una o más opciones al diseñador, por ejemplo: (a) para utilizar un gestor 184A de prioridad de vista para asignar un valor de prioridad a las diversas vistas (suponiendo que se conozcan de antemano), de modo que el WBS 100 seleccionaría la vista que tuviera el valor de prioridad más alto; (b) utilizar un gestor 184B de gancho/retrollamada para definir un gancho o retrollamada en la aplicación, lo que permitiría a la aplicación seleccionar la vista correcta para usar; (c) usar un generador 184C de IU de selección de usuario final para exponer las múltiples opciones de vista al usuario final, permitiéndole seleccionar la vista que se usará para el elemento dado (p. ej., usando una vista por defecto y que incluye un menú desplegable "cambiar vista" o un widget de cuadro combinado en la visualización).In these cases, the WBS 100 may provide one or more options to the designer, for example: (a) to use a view priority manager 184A to assign a priority value to the various views (assuming they are known in advance), so that the WBS 100 would select the view that had the highest priority value; (b) use a hook/callback manager 184B to define a hook or callback in the application, which would allow the application to select the correct view to use; (c) use an end-user selection UI generator 184C to expose multiple view options to the end user, allowing the end user to select the view to be used for the given element (e.g., using a default view and including a "switch view" dropdown menu or a combo box widget on the visualization).

En un primer ejemplo demostrativo, un ejecutor 184D de persistencia de elección de vista puede garantizar que la elección de vista sea persistente. Por ejemplo, la visualización de elementos típicamente permite al usuario final pasar de un elemento a otro de la colección (p. ej., navegar al elemento anterior o al siguiente). Los elementos visualizados pueden tener diferentes vistas usadas para visualizarlos. El aplicador 184 de persistencia de elección de vista puede permitir al diseñador especificar que la elección de una vista para visualizar un tipo de elemento dado es persistente. En consecuencia, si el usuario final pasa por encima de los elementos de la colección y vuelve al mismo tipo de elemento, se usaría la misma vista (entre las múltiples vistas posibles); a menos que haya un motivo específico para no reutilizarlo (tal como una asociación de vista separada distinta para el elemento visualizado).In a first demonstrative example, a view choice persistence executor 184D may ensure that the view choice is persistent. For example, displaying items typically allows the end user to move from one item to another in the collection (e.g., navigate to the previous or next item). Displayed items can have different views used to display them. The view choice persistence applicator 184 may allow the designer to specify that the choice of a view to display a given element type is persistent. Consequently, if the end user hovers over the collection items and returns to the same item type, the same view would be used (among the multiple possible views); unless there is a specific reason not to reuse it (such as a different separate view association for the displayed element).

En un segundo ejemplo demostrativo, un generador 185 de visualización polimórfica puede habilitar la visualización polimórfica. Por ejemplo, el usuario final puede afectar a la selección de la vista cambiando el tipo de visualización principal (p. ej., tipo de contenedor de varias páginas) usado por el LC para visualizar los elementos. El diseñador puede permitir que el usuario final determine si una lista dada se visualizaría en un "modo de lista" (visualizando 1-2 líneas de información por elemento) o en un "modo de página" (visualizar una página completa de información del elemento dado). De forma similar, un diseñador puede permitir que el usuario final conmute una visualización de LC entre una galería de tipo cuadrícula (que muestra los elementos dispuestos en una cuadrícula) a una galería de tipo deslizante (que muestra el elemento en una disposición similar a una presentación de diapositivas). La elección del modo de visualización de LC también puede afectar a la vista elegida para la visualización. El generador 185 de visualización polimórfica puede usarse para garantizar que el usuario pueda conmutar entre múltiples vistas (o visualizaciones de LC) que el diseñador ha diseñado de antemano con esta finalidad.In a second demonstrative example, a polymorphic display generator 185 may enable polymorphic display. For example, the end user can affect view selection by changing the primary display type (e.g., multi-page container type) used by the LC to display the elements. The designer may allow the end user to determine whether a given list would be displayed in a "list mode" (displaying 1-2 lines of information per item) or in a "page mode" (displaying a full page of item information given). Similarly, a designer can allow the end user to switch an LC display between a grid-type gallery (displaying items arranged in a grid) to a slider-type gallery (displaying the item in a layout similar to a grid). slide presentation). The choice of LC display mode can also affect the view chosen for display. The polymorphic display generator 185 can be used to ensure that the user can switch between multiple views (or LC displays) that the designer has designed in advance for this purpose.

Etapa 2: crear una vista completa basada en la vista y los campos del elementoStage 2: Create a complete view based on the view and element fields

Se hace referencia a la figura 16, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la creación de una vista completa, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender un creador 186 de vista completa, para crear una versión completa de la composición de vista o la vista construida dinámicamente. Se aclara que una vista completa puede ser una instancia de la entidad de vista, construida dinámicamente en base a los datos suministrados por el elemento.Reference is made to Figure 16, which is a schematic block diagram illustration of the WBS 100 particularly demonstrating the creation of a complete view, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise a full view creator 186, to create a full version of the view composition or the dynamically constructed view. It is clarified that a complete view can be an instance of the view entity, constructed dynamically based on the data supplied by the element.

En primer lugar, el creador 186 de vista completa puede utilizar un módulo 186A o submódulo de composición de vista a campo para proyectar cada componente de datos en la vista a un campo de composición en el tipo de elemento (y el elemento subyacente). Esto se puede hacer, por ejemplo, usando uno o más de los siguientes procedimientos: (a) asociación previa explícita por parte del diseñador; (b) nombre común usado por un componente de vista y campo de elemento; (c) ID de asociación especial; (d) consulta sobre la composición de palabras clave asignadas a componentes de vista y campos de elementos; (e) una consulta definida para un componente de datos que busca atributos especificados previamente en los campos de la composición de elemento. Para los componentes que no son datos (p. ej., el texto del título), dicha composición puede no ser necesaria.First, the full view creator 186 may use a view-to-field composition module 186A or submodule to project each data component in the view to a composition field in the element type (and the underlying element). This can be done, for example, using one or more of the following procedures: (a) explicit prior association by the designer; (b) common name used by a view component and element field; (c) Special association ID; (d) query on the composition of keywords assigned to view components and element fields; (e) a query defined for a data component that searches for prespecified attributes in the fields of the element composition. For non-data components (e.g., title text), such composition may not be necessary.

Un manejador 187 de campos faltantes puede manejar campos faltantes - campos de vista (que deberían llenarse con contenido) para los cuales no se ha encontrado ningún campo de elemento de composición. Por ejemplo, si no se ha encontrado ningún campo de composición, el manejador 187 de campos faltantes puede visualizar el texto o la imagen adecuados en el lugar del componente de la vista (proporcionado por el propio componente de datos o por el WBS 100). Esto podría producirse durante el tiempo de diseño o en tiempo de ejecución (p. ej., cuando las fuentes RSS proporcionan elementos y pueden faltar algunos campos obligatorios). Opcionalmente, se puede proporcionar, visualizar o registrar un mensaje discreto o un mensaje de advertencia informal. El mensaje de visualización real que se muestra puede depender de la URL utilizada para la llamada o el inicio de sesión del usuario; de manera que, por ejemplo, el diseñador pueda recibir un mensaje más exhaustivo.A missing field handler 187 can handle missing fields - view fields (which should be filled with content) for which no composition element field has been found. For example, if no composition field has been found, the missing field handler 187 may display the appropriate text or image in place of the view component (provided by the data component itself or by the WBS 100). This could occur during design time or at run time (e.g., when RSS feeds provide items and some required fields may be missing). Optionally, a discreet message or an informal warning message may be provided, displayed or recorded. The actual display message displayed may depend on the URL used for the user's call or login; so that, for example, the designer can receive a more exhaustive message.

Si el componente tiene anclajes u otra asociación relacionada con DL, el manejador 187 de campos faltantes puede no eliminar el componente, sino que puede utilizar un módulo 187A de redimensionamiento de componente para redimensionarlo a tamaño cero. Si el componente no tiene anclajes u otra asociación relacionada con DL, entonces el manejador 187 de campos faltantes puede eliminar el componente conjuntamente con cualquier espaciador relacionado con el diseño adjunto, de modo que no quede espacio adicional que se habría añadido si el campo estuviera presente.If the component has anchors or other DL-related associations, the missing fields handler 187 may not delete the component, but rather may use a component resize module 187A to resize it to zero size. If the component has no anchors or other DL-related association, then the missing field handler 187 may remove the component along with any spacers. related to the attached layout, so that there is no additional space that would have been added if the field were present.

En segundo lugar, el creador 186 de vista completa puede utilizar una calculadora 186B de valor de componente para determinar el valor de todos los componentes calculados; por ejemplo, calculados en base a los valores de los campos, incluido en particular el valor introducido en los componentes de datos. En tercer lugar, el creador 186 de vista completa puede determinar si deben incluirse o no componentes condicionales; por ejemplo, la vista puede contener componentes condicionales cuya inclusión depende de una o más condiciones.Second, the full view creator 186 may use a component value calculator 186B to determine the value of all calculated components; for example, calculated based on the values of the fields, including in particular the value entered in the data components. Third, the full view creator 186 can determine whether or not to include conditional components; For example, the view may contain conditional components whose inclusion depends on one or more conditions.

Etapa 3: aplicar el diseño dinámico a la vista completaStage 3: Apply the dynamic layout to the full view

Se hace referencia a la figura 17, que es una ilustración esquemática en diagrama de bloques del WBS 100 que muestra la distribución dinámica y los ajustes para una vista completa, según algunas realizaciones demostrativas de la presente invención. Por ejemplo, el DLM 101 puede aplicar el procesamiento de DL a la página completa (o minipágina) que contiene el LC o los LC en base a la vista completa. Este procesamiento de DL se puede realizar junto con la determinación del mejor tamaño de visualización a usar para la vista completa.Reference is made to Figure 17, which is a block diagram schematic illustration of the WBS 100 showing the dynamic layout and settings for a complete view, according to some demonstrative embodiments of the present invention. For example, DLM 101 may apply DL processing to the entire page (or minipage) containing the LC or LCs based on the full view. This DL processing can be done in conjunction with determining the best display size to use for the entire view.

El procesamiento de DL puede tener en cuenta reglas 101A específicas de DL y/o anclajes 101B de DL, por ejemplo, que se originan a partir de lo siguiente: (a) el elemento subyacente que contiene el LC; (b) información de DL fija contenida en la definición de vista; (c) información de DL condicional contenida en la definición de vista aplicable dependiendo de las condiciones especificadas de la vista.DL processing may take into account DL-specific rules 101A and/or DL anchors 101B, for example, originating from the following: (a) the underlying element containing the LC; (b) fixed DL information contained in the view definition; (c) conditional DL information contained in the view definition applicable depending on the specified conditions of the view.

El procesamiento de DL puede afectar a toda la página que contiene el LC. Por ejemplo, si el LC se usa para ver un elemento nuevo en el que un campo de texto dado es más grande que el elemento que se visualiza actualmente, el DLM 101 puede hacer que toda la minipágina visualizada (que contiene la vista) crezca o aumente de tamaño, con lo cual hace que el LC crezca y mueva o relocalice componentes en la página contenedora.DL processing can affect the entire page containing the LC. For example, if the LC is used to view a new item in which a given text field is larger than the currently displayed item, the DLM 101 may cause the entire displayed minipage (containing the view) to grow or increases in size, thereby causing the LC to grow and move or relocate components on the containing page.

El DLM 101 puede aplicar efectos de animación y transición, de modo que los cambios resultantes de conmutar elementos (y posiblemente vistas) en el LC se presenten mediante cambios suaves y animados, en lugar de cambios abruptos.The DLM 101 can apply animation and transition effects, so that changes resulting from switching elements (and possibly views) in the LC are presented through smooth, animated changes, rather than abrupt changes.

Determinación y ajuste del tamaño de visualización de una vistaDetermining and adjusting the display size of a view

El área de visualización requerida por una instancia de vista completa específica puede variar y puede determinarse y/o ajustarse (p. ej., modificarse) por un ajustador 188 de tamaño de visualización de vista, puesto que los componentes de datos en la vista (p. ej., texto, imagen) pueden incluir diferentes cantidades de datos para diferentes instancias de la vista. La vista típicamente se visualiza con el tamaño definido para ella en el WBS 100. Sin embargo, en algunos casos, el tamaño puede optimizarse para una configuración específica de pantalla, navegador o dispositivo. En estos casos, el ajustador 188 de tamaño de visualización de vista puede ajustar el área asignada a la vista, teniendo en cuenta los datos de vista completa específicos.The display area required by a specific full view instance may vary and may be determined and/or adjusted (e.g., modified) by a view display size adjuster 188, since the data components in the view ( e.g., text, image) can include different amounts of data for different instances of the view. The view is typically displayed at the size defined for it in the WBS 100. However, in some cases, the size can be optimized for a specific screen, browser, or device configuration. In these cases, the view display size adjuster 188 may adjust the area assigned to the view, taking into account the specific full view data.

Por ejemplo, los cambios en la anchura de la vista pueden afectar a la altura de la vista. En particular, los componentes de visualización de texto que se requieren para ajustarse a un área más estrecha (horizontalmente) pueden crecer verticalmente para visualizar la misma cantidad de texto (p. ej., dividirlo en más líneas).For example, changes to the width of the view can affect the height of the view. In particular, text display components that are required to fit a narrower area (horizontally) can grow vertically to display the same amount of text (e.g., splitting it into more lines).

El ajustador 188 de tamaño de visualización de vista puede optimizar la vista visualizada para obtener el mejor resultado estéticamente agradable. Por ejemplo, el ajustador 188 de tamaño de visualización de vista intenta encontrar el mejor tamaño (y el diseño resultante) para la vista, para lograr u optimizar uno o más de los siguientes objetivos (posiblemente contradictorios): (a) lograr que la vista visualizada tenga una relación de aspecto lo más cercana posible a la ventana de visualización del navegador para la aplicación; (b) minimizar la cantidad de desplazamiento necesario para ver la vista completa (p. ej., si se amplía verticalmente hacia abajo y requiere desplazamiento); (c) cumplir con todas las reglas de DL y anclajes especificados para la vista.The view display size adjuster 188 can optimize the displayed view to obtain the best aesthetically pleasing result. For example, the view display size adjuster 188 attempts to find the best size (and resulting layout) for the view, to achieve or optimize one or more of the following (possibly contradictory) objectives: (a) make the view displayed has an aspect ratio as close as possible to the browser display window for the application; (b) minimize the amount of scrolling required to view the full view (e.g., if zooming vertically down and requiring scrolling); (c) comply with all DL rules and anchors specified for the view.

En una implementación demostrativa, el ajustador 188 de tamaño de visualización de vista puede realizar las siguientes operaciones: (a) tomar la anchura de la instancia de la vista original; (b) utilizar un generador 188A de anchuras objetivo para crear un conjunto de anchuras objetivo posibles, comenzando con la anchura original y bajando hasta un parámetro de valor predefinido (p. ej., 100 píxeles), con lo cual crea un conjunto de posibles "anchuras objetivo" (p. ej., calculado limitando el tamaño del conjunto por una diferencia mínima entre los tamaños); (c) realizar el cálculo de Dl para la instancia de la vista para cada una de las anchuras objetivo y obtener la altura resultante para cada una de las anchuras objetivo; (d) buscar y seleccionar, usando un módulo o submódulo selector 188B de anchura objetivo, el conjunto resultante de altura-anchura que sea más cercano a la relación de aspecto de la ventana de visualización de la página adjunta, pero que no exceda la altura de la pantalla disponible; (e) si, para cada una de las anchuras objetivo, la altura excede la altura de la pantalla disponible, entonces seleccionar la anchura objetivo que tenga la altura más pequeña.In a demonstrative implementation, the view display size adjuster 188 may perform the following operations: (a) take the width of the original view instance; (b) use a target width generator 188A to create a set of possible target widths, starting with the original width and going down to a predefined value parameter (e.g., 100 pixels), thereby creating a set of possible "target widths" (e.g., calculated by limiting the size of the set by a minimum difference between the sizes); (c) perform the calculation of D l for the view instance for each of the target widths and obtain the resulting height for each of the target widths; (d) finding and selecting, using a target width selector module or submodule 188B, the resulting height-width set that is closest to the aspect ratio of the display window of the attached page, but does not exceed the height of the available screen; (e) if, for each of the target widths, the height exceeds the available screen height, then select the target width that has the smallest height.

Modificación de vista y vistas derivadasView Modification and Derived Views

Un módulo 189 de modificación de vista puede permitir que el diseñador modifique una vista añadiendo, eliminando y/o modificando los componentes visualizados. El sistema puede permitir que el diseñador aplique la modificación "en el lugar" (p. ej., afectar a la vista real y todos los elementos que la usan), o crear una vista derivada (heredada) a partir de la vista editada (modificada).A view modification module 189 may allow the designer to modify a view by adding, removing and/or modifying the displayed components. The system can allow the designer to apply the modification "in place" (e.g., affecting the actual view and all elements that use it), or create a derived (inherited) view from the edited view ( modified).

Una vista derivada puede considerarse como una variante basada en la herencia de una vista matriz. Por ejemplo, una vista de "camisa" es un hijo derivado de la vista de "producto", pero puede tener un atributo/campo de "color' adicional. Si la vista está asociada con un tipo (o tipos) de elemento dado, la creación de una vista derivada también puede crear un tipo (o tipos) de elemento modificado de forma similar que se puede usar para crear elementos en la colección asociada o en otras colecciones.A derived view can be thought of as an inheritance-based variant of a parent view. For example, a 'shirt' view is a derived child of the 'product' view, but may have an additional 'color' attribute/field. If the view is associated with a given item type (or types), Creating a derived view can also create a similarly modified element type (or types) that can be used to create elements in the associated collection or in other collections.

Según la presente invención, el WBS 100 puede usar la vista dada si es relevante para el elemento; y si esto no es posible, entonces el WBS 100 puede invocar un buscador 190 de vista matriz para subir en el árbol de herencia (o cadena de herencia) y puede usar la vista o vistas de nivel superior para visualizar el elemento dado. En algunas implementaciones, si no se encuentra una composición de vista, el WBS 100 puede subir en el árbol de herencia del tipo de elemento (p. ej., usando el manejador 181 de reserva); mientras que, en otras implementaciones, si no se encuentra ninguna composición de vista, el WBS 100 puede subir en el árbol de herencia de vista (p. ej., usando el buscador 190 de vista matriz). Otras implementaciones pueden utilizar una combinación de ambos procedimientos, con un mecanismo para determinar sobre la marcha qué procedimiento de composición se prefiere o qué resultado de composición se prefiere y se utiliza.According to the present invention, the WBS 100 may use the given view if it is relevant to the element; and if this is not possible, then the WBS 100 can invoke a parent view finder 190 to go up the inheritance tree (or inheritance chain) and can use the top level view or views to display the given element. In some implementations, if a view composition is not found, the WBS 100 may move up the element type inheritance tree (e.g., using fallback handler 181); whereas, in other implementations, if no view composition is found, the WBS 100 may move up the view inheritance tree (e.g., using the parent view finder 190). Other implementations may use a combination of both procedures, with a mechanism to determine on the fly which composition procedure is preferred or which composition result is preferred and used.

La vista creada (modificada) también está disponible para otros elementos. Cuando se crea o se modifica una vista derivada, se puede aplicar (o asociar previamente) a elementos o tipos de elementos existentes.The created (modified) view is also available for other elements. When a derived view is created or modified, it can be applied (or pre-associated) to existing elements or element types.

El WBS 100 puede proporcionar además la opción inversa, permitiendo al diseñador crear tipos derivados y hacer que el WBS 100 invoque automáticamente un generador 191 de vista derivada para crear también automáticamente una composición de vista derivada; por ejemplo, crear una vista derivada basada en un tipo derivado (y no al revés). The WBS 100 may further provide the reverse option, allowing the designer to create derived types and have the WBS 100 automatically invoke a derived view generator 191 to also automatically create a derived view composition; for example, creating a derived view based on a derived type (and not the other way around).

El diseñador puede crear el nuevo componente en base a una plantilla de un solo componente. El creador de la vista puede incluir además dichas plantillas de un solo componente conjuntamente con la vista creada, y dichas plantillas de componentes pueden sugerirse a los diseñadores que deseen modificar la plantilla.The designer can create the new component based on a single component template. The view creator may further include such single component templates along with the created view, and such component templates may be suggested to designers who wish to modify the template.

Zonas de llegada de componentesComponent arrival areas

Se hace referencia a la figura 18, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra la ubicación y modificación de zona de llegada, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede admitir zonas de llegada, de modo que los nuevos componentes añadidos a una vista pueden ubicarse automática o semiautomáticamente dentro de la vista mediante un módulo 192 de ubicación de zona de llegada. El diseñador de vistas puede definir varias zonas de llegada en la plantilla de la vista. Por ejemplo, los componentes se pueden disponer en múltiples columnas y se crea una zona de llegada en la parte inferior de cada columna; o de forma alternativa, los componentes se pueden disponer en una determinada jerarquía de contenedores y se puede definir una zona de llegada en la parte inferior de algunos (pero no todos) de los contenedores. El diseñador de la vista original puede usar un editor 193 de zonas de llegada para designar zonas de llegada especificadas explícitamente, asignar nombres a las "zonas de llegada" definidas y especificar diversos atributos de zonas de llegada. Cuando se añade un nuevo componente a la vista, se muestra una lista (p. ej., una lista desplegable) de los nombres de las zonas de llegada y el diseñador puede seleccionar un área objetivo para el nuevo componente. Reference is made to Figure 18, which is a schematic block diagram illustration of the WBS 100 demonstrating the location and modification of the arrival zone, according to some demonstrative embodiments of the present invention. The WBS 100 may support arrival zones, such that new components added to a view can be automatically or semi-automatically located within the view using a landing zone location module 192. The view designer can define multiple landing zones in the view template. For example, components can be arranged in multiple columns and a landing zone is created at the bottom of each column; or alternatively, the components can be arranged in a particular hierarchy of containers and a landing zone can be defined at the bottom of some (but not all) of the containers. The designer of the original view can use an arrival zone editor 193 to designate explicitly specified arrival zones, assign names to the defined "arrival zones", and specify various arrival zone attributes. When a new component is added to the view, a list (e.g., drop-down list) of the landing zone names is displayed and the designer can select a target area for the new component.

Las zonas de llegada pueden incluir atributos especificados por el diseñador que definen reglas para encontrar plantillas de composición de componentes. Por ejemplo, si el diseñador ha especificado que el nuevo componente se añadirá a una columna ancha, el sistema puede recomendar una plantilla de componente de formato ancho. Este efecto puede operar en ambas direcciones, de modo que la selección de la zona de llegada puede afectar a las plantillas de componentes recomendadas y viceversa.Landing zones can include designer-specified attributes that define rules for finding component composition templates. For example, if the designer has specified that the new component will be added to a wide column, the system can recommend a wide format component template. This effect can operate in both directions, so the selection of the landing zone can affect the recommended component templates and vice versa.

Opcionalmente, un generador 194 de zona de llegada puede generar zonas de llegada automáticamente, que incluyen (por ejemplo): (a) al final de cada contenedor o minipágina; (b) al final de los contenedores que tienen un tipo o atributo determinado; (c) después de los lugares donde se ha realizado adiciones de campo recientes; (d) en ubicaciones que tienen por lo menos una cantidad dada de espacio de pantalla vacío; (e) en una página o minipágina recién creada (p. ej., añadiendo un componente a una página adicional en un contenedor de varias páginas). Cuando se añade un componente a una vista (usando una zona de llegada o de otro modo), el diseño de la vista se vuelve a calcular mediante el uso de diseño dinámico.Optionally, a landing zone generator 194 may automatically generate landing zones, including (for example): (a) at the end of each container or minipage; (b) at the end of containers that have a given type or attribute; (c) after places where recent field additions have been made; (d) in locations that have at least a given amount of empty screen space; (e) on a newly created page or minipage (e.g., adding a component to an additional page in a multi-page container). When a component is added to a view (using a landing zone or otherwise), the layout of the view is recalculated using dynamic layout.

Aplicación de una vista derivadaApplying a derived view

Se hace referencia a la figura 19, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la modificación de la vista, según algunas realizaciones demostrativas de la presente invención. Cuando se modifica una vista, el WBS 100 puede crear una vista derivada que hereda de una vista existente que se está modificando. La vista existente se puede asociar con varios tipos de elementos (posiblemente usados por múltiples elementos en múltiples colecciones) y también se puede asociar directamente con múltiples elementos en múltiples colecciones. En este caso, el WBS 100 puede invocar un módulo 195 de "búsqueda masiva y asociación previa" para realizar una asociación previa en masa (o masiva o por lotes) de tipos y/o elementos.Reference is made to Figure 19, which is a block diagram schematic illustration of the WBS 100 particularly demonstrating the modification of the view, according to some demonstrative embodiments of the present invention. When a view is modified, the WBS 100 may create a derived view that inherits from an existing view that is being modified. The existing view can be associated with multiple element types (possibly used by multiple elements in multiple collections) and can also be directly associated with multiple elements in multiple collections. In this case, the WBS 100 may invoke a "bulk search and association" module 195. prior" to perform a mass (or bulk or batch) prior association of types and/or elements.

Por ejemplo, el módulo 195 de "búsqueda masiva y asociación previa" puede escanear todos los tipos y/o elementos que están directa o indirectamente asociados con la vista existente; y puede volver a asociarlos con la vista derivada. Los criterios para la asociación previa pueden incluir, por ejemplo: (a) condiciones basadas en el contenido de campos de elemento; (b) condiciones basadas en la existencia de campos de elemento; (C) condición basada en atributos de tipo/elemento; (d) una combinación de los criterios anteriores. Opcionalmente, se puede solicitar la confirmación manual del diseñador, con respecto a qué tipos/elementos volver a asociar (p. ej., se solicita por tipo o por elemento). For example, the "bulk search and preassociation" module 195 may scan all types and/or elements that are directly or indirectly associated with the existing view; and you can re-associate them with the derived view. Criteria for pre-association may include, for example: (a) conditions based on the content of element fields; (b) conditions based on the existence of element fields; (C) condition based on type/element attributes; (d) a combination of the above criteria. Optionally, manual confirmation can be requested from the designer, regarding which types/elements to re-associate (e.g., requested by type or by element).

En un ejemplo demostrativo, cuando se crea un tipo de elemento "camisa" derivado del tipo de elemento "producto", el diseñador puede especificar que se escaneará la colección de productos y que todos los elementos "producto" que tengan la palabra "camisa" en su título y que se hayan creado en los últimos dos meses se convertirán automáticamente al tipo "camiseta".In a demonstrative example, when creating a "shirt" item type derived from the "product" item type, the designer can specify that the product collection will be scanned and that all "product" items that have the word "shirt" will be scanned. in your title and that were created in the last two months will automatically be converted to the "t-shirt" type.

Personalizaciones y cuadros de diálogo de personalizaciónCustomizations and Personalization Dialogs

El WBS 100 puede comprender un módulo 201 de personalización, que proporciona la creación de diálogos de personalización que puede usar el diseñador (y posiblemente el usuario final) para personalizar diversos parámetros y atributos en la aplicación de lista visualizada.The WBS 100 may comprise a customization module 201, which provides for the creation of customization dialogs that can be used by the designer (and possibly the end user) to customize various parameters and attributes in the displayed list application.

Se apreciará que el módulo 201 de personalización puede incluir diversos rasgos característicos y/o tecnologías y/o submódulos y/o procesos, o puede estar asociado con, o puede utilizar o implementar, por ejemplo, como se describe en el documento US 2014/0282130 A1, titulado "A System and Method for Dialog Customization", que se presenta el mismo día que el presente documento (13 de marzo de 2014)It will be appreciated that the personalization module 201 may include various characteristic features and/or technologies and/or submodules and/or processes, or may be associated with, or may utilize or implement, for example, as described in US 2014/ 0282130 A1, entitled "A System and Method for Dialog Customization", filed on the same day as this document (March 13, 2014)

Dicha personalización se puede aplicar a los elementos del sitio web, incluidas las vistas, los elementos y las combinaciones de vista/elemento (p. ej., un elemento dado se personaliza de alguna manera, pero solo cuando se visualiza en una vista dada). También podrá aplicarse a aplicaciones de terceros incluidas en el sitio web creado. La opción de personalización puede estar disponible para el diseñador, o posiblemente para usuarios de la aplicación en una fase posterior que tienen privilegios de diseño/modificación específicos.Such customization can be applied to website elements, including views, elements, and view/element combinations (e.g., a given element is customized in some way, but only when displayed in a given view) . It may also apply to third-party applications included in the created website. The customization option may be available to the designer, or possibly to users of the application at a later stage who have specific design/modification privileges.

La personalización puede afectar a los atributos y elementos de los elementos o vistas específicos implicados, así como a otros objetos relacionados con ellos (p. ej., mediante contención o herencia). Puede incluir personalizaciones tales como (por ejemplo): (a) ¿debería el sistema visualizar un componente determinado (sí o no); (b) contenido fijo (p. ej., texto del título); (c) los atributos de visualización (p. ej., fuente, tamaño, color) de un componente específico; (d) distancias de pantalla (p. ej., distancia entre el nombre del plato y su descripción); (e) recuentos (p. ej., número de columnas en una visualización de varias columnas); (f) parámetros genéricos - que se transfieren al componente/elemento que maneja la visualización; y/u otras personalizaciones adecuadas.Customization can affect the attributes and elements of the specific elements or views involved, as well as other objects related to them (e.g., through containment or inheritance). It may include customizations such as (for example): (a) should the system display a given component (yes or no); (b) fixed content (e.g. title text); (c) the display attributes (e.g., font, size, color) of a specific component; (d) screen distances (e.g., distance between the name of the dish and its description); (e) counts (e.g., number of columns in a multi-column display); (f) generic parameters - which are passed to the component/element that handles the display; and/or other appropriate customizations.

El WBS 100 admite la personalización usando cuadros de diálogo generados que incluyen atributos a personalizar. Dichos diálogos se generan usando un constructor 201A de diálogo de personalización, visualizado al usuario (y que puede interactuar con el usuario) usando un visualizador 201B de diálogo de personalización y luego se aplican a los elementos afectados usando un aplicador 201C de resultado de diálogo de personalización;The WBS 100 supports customization using generated dialog boxes that include attributes to customize. Such dialogs are generated using a customization dialog builder 201A, displayed to the user (and capable of interaction with the user) using a customization dialog viewer 201B, and then applied to the affected elements using a customization dialog result applicator 201C. personalization;

En muchos casos, un único valor de personalización debería afectar a múltiples elementos. Por ejemplo, la misma adaptación de color debería aplicarse a múltiples componentes en la vista de visualización que deben permanecer armoniosos; las distancias entre el borde derecho de la vista y dos componentes separados se pueden ajustar, pero deben permanecer iguales para ambos componentes. Además, una personalización puede afectar (por ejemplo) a una vista específica visualizada, a todas las vistas visualizadas (de un tipo dado o de todos los tipos), a todas las instancias de una vista dada o vistas en un ámbito determinado (incluso si no se visualizan actualmente), o a instancias de vista específica seleccionadas explícitamente por el diseñador.In many cases, a single customization value should affect multiple items. For example, the same color adaptation should be applied to multiple components in the display view that must remain harmonious; The distances between the right edge of the view and two separate components can be adjusted, but must remain the same for both components. Additionally, a customization can affect (for example) a specific view displayed, all views displayed (of a given type or all types), all instances of a given view, or views in a given scope (even if are not currently displayed), or to specific view instances explicitly selected by the designer.

El efecto de la personalización puede no ser idéntico en todos los objetos afectados. Por ejemplo, es posible que se requiera que los componentes A y B mantengan un diseño particular, tal como que la distancia del componente B desde la parte superior de la vista sea el doble de la distancia del componente A desde la parte superior de la vista. En este caso, la personalización puede aplicarse individualmente según sea necesario (usando una fórmula específica de objeto).The effect of the customization may not be identical on all affected objects. For example, components A and B may be required to maintain a particular layout, such as component B's distance from the top of the view being twice the distance of component A from the top of the view. . In this case, the customization can be applied individually as needed (using an object-specific formula).

En la figura 23A se muestra un ejemplo de diálogo de personalización. En este ejemplo, una aplicación de lista (LA) de restaurante visualiza elementos de tres colecciones (menú, sección y plato) jerárquicamente dentro de un solo LC. El sistema ha generado el cuadro de diálogo de personalización que se muestra, que incluye las personalizaciones "Altura de imagen de sección", "Mostrar imagen de sección", "Mostrar separador de sección", "Mostrar descripción del plato", "Mostrar precio del plato" y "Espaciado entre elementos". Los valores introducidos a través de este cuadro de diálogo afectan a todas las vistas que se visualizan en el LC actual.An example of a customization dialog is shown in Figure 23A. In this example, a restaurant list application (LA) displays items from three collections (menu, section, and dish) hierarchically within a single LC. The system has generated the customization dialog shown, which includes the customizations "Section Image Height", "Show Section Image", "Show Section Separator", "Show Plate Description", "Show Price of the plate" and "Spacing between elements". Values entered through this dialog box affect all views displayed in the current LC.

Siguiendo este ejemplo, la figura 27 demuestra cómo cambiar el valor de personalización "espaciado entre elementos" (A) de 15 píxeles (como en la figura 23A) a 123 píxeles aumentaría el espaciado (B) entre las múltiples instancias de la vista "plato". Following this example, Figure 27 demonstrates how changing the "item spacing" (A) customization value from 15 pixels (as in Figure 23A) to 123 pixels would increase the spacing (B) between multiple instances of the "dish" view. ".

El cuadro de diálogo generado puede especificarse previamente o generarse automáticamente. También puede ser un elemento de UI autónomo o integrado con el resto de la UI del WBS 100. También puede visualizarse automáticamente o requerir una invocación explícita por parte del diseñador.The generated dialog box can be pre-specified or automatically generated. It can also be a stand-alone UI element or integrated with the rest of the WBS 100 UI. It can also be displayed automatically or require explicit invocation by the designer.

Adaptación de elemento específicoSpecific element adaptation

El WBS 100 puede comprender un módulo 196 de adaptación de elemento específico para crear adaptaciones a un elemento específico, por ejemplo, añadiendo (p. ej., mediante arrastrar y soltar) componentes específicos a un elemento visualizado a nivel de elemento y en el contexto de una vista específico. Esto se puede usar, por ejemplo, para añadir elementos de "decoración" a elementos específicos, o para añadir información adicional que solo está disponible para determinados elementos específicos, sin tener que crear vistas y tipos de elementos separados. The WBS 100 may comprise an element-specific adaptation module 196 to create adaptations to a specific element, for example, by adding (e.g., by drag and drop) specific components to an element displayed at the element level and in context. of a specific view. This can be used, for example, to add "decoration" elements to specific elements, or to add additional information that is only available for certain specific elements, without having to create separate views and element types.

Por ejemplo, el WBS 100 puede utilizar un creador 196A de variante local para crear automáticamente una variante local de la vista, o una vista derivada "interna". Las adaptaciones pueden almacenarse como una "capa" de modificaciones a la vista existente dentro de esta variante local de vista derivada. El WBS 100 puede almacenar esta vista derivada a nivel de sitio o a nivel de página o a nivel de LC, conjuntamente con una ID del elemento para el que se aplica esta adaptación. La adaptación también puede almacenarse con la misma aplicación de lista cuya instancia se usa en el sitio. El mismo LC o página puede almacenar múltiples adaptaciones a múltiples elementos. El WBS 100 aplica la adaptación cada vez que el elemento se visualiza con la vista específica en el LC específico.For example, the WBS 100 may use a local variant creator 196A to automatically create a local variant of the view, or an "internal" derived view. Adaptations can be stored as a "layer" of modifications to the existing view within this local derived view variant. The WBS 100 may store this derived view at the site level or at the page level or at the LC level, along with an ID of the element for which this adaptation applies. The adaptation can also be stored with the same list application whose instance is used in the site. The same LC or page can store multiple adaptations to multiple elements. The WBS 100 applies the adaptation each time the element is displayed with the specific view on the specific LC.

En algunas realizaciones, opcionalmente, el módulo 196 de adaptación de elemento específico puede ofrecer la capacidad de aplicar las mismas adaptaciones a otros elementos en el mismo LC que usan la misma vista, o a otras vistas.In some embodiments, optionally, the element-specific adaptation module 196 may offer the ability to apply the same adaptations to other elements in the same LC that use the same view, or to other views.

Si las adaptaciones se almacenan a nivel de sitio, entonces la adaptación se aplicará a las instancias del mismo elemento que se visualiza en la misma vista en diferentes LC (o componentes repetidores). Cabe señalar que las adaptaciones son diferentes de la personalización de elemento; por ejemplo, las adaptaciones implican añadir elementos y componentes adicionales a un elemento existente, mientras que las personalizaciones implican cambiar los parámetros y atributos de uno o elementos (o vistas) en base a posibles personalizaciones predefinidas. Cabe señalar que las personalizaciones pueden incluir "mostrar el componente X o no", lo que puede hacer que parezca similar a la adición de un nuevo componente.If adaptations are stored at the site level, then the adaptation will be applied to instances of the same element displayed in the same view in different LCs (or repeater components). It should be noted that adaptations are different from item customization; For example, adaptations involve adding additional elements and components to an existing element, while customizations involve changing the parameters and attributes of one or elements (or views) based on possible predefined customizations. It should be noted that customizations can include "show component X or not", which can make it seem similar to adding a new component.

Filtros y cuadro de búsquedaFilters and search box

Opcionalmente, un creador 197 de cuadro de búsqueda puede permitir que el diseñador especifique que un LC dado muestre un subconjunto de elementos de colección asociados, seleccionados según criterios de búsqueda dados (p. ej., una consulta dada aplicada a los campos u otros filtros). El diseñador puede especificar además que dicho cuadro de búsqueda se mostrará al usuario final cuando vea el LC, con lo cual permite que el usuario final filtre o busque de forma selectiva el contenido visualizado. En la figura 26 se muestra un ejemplo de dicho cuadro de búsqueda.Optionally, a search box creator 197 may allow the designer to specify that a given LC display a subset of associated collection items, selected based on given search criteria (e.g., a given query applied to fields or other filters). ). The designer can further specify that the search box will be displayed to the end user when viewing the LC, allowing the end user to selectively filter or search the displayed content. An example of such a search box is shown in Figure 26.

Conexiones de LCLC connections

Se hace referencia a la figura 20, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la gestión de conexión de LC, según algunas realizaciones de la presente invención. Un gestor 198 de conexión de LC permite que los LC que residen en la misma página o plantilla se conecten (o interconecten) de una o más formas adecuadas. Los LC conectados residen en diferentes contenedores (o niveles de contenedor) dentro de la página. Estas conexiones pueden formar una red, de manera que un LC particular puede conectarse a otros múltiples LC. El gestor 198 de conexión de LC admite una conexión de campo agregador y puede admitir diversos otros tipos de conexiones de LC, por ejemplo, conexión de lista relacionada, conexión de nube de etiquetas, conexión de árbol de elementos y/o conexión de visualización de formulario.Reference is made to Figure 20, which is a block diagram schematic illustration of the WBS 100 particularly demonstrating LC connection management, according to some embodiments of the present invention. An LC connection manager 198 allows LCs residing on the same page or template to connect (or interconnect) in one or more appropriate ways. Connected LCs reside in different containers (or container levels) within the page. These connections can form a network, so that a particular LC can connect to multiple other LCs. The LC connection manager 198 supports an aggregator field connection and may support various other types of LC connections, for example, related list connection, tag cloud connection, element tree connection, and/or display connection. form.

En una conexión de lista relacionada, que puede gestionarse o manejarse mediante un gestor 198A de conexión de lista relacionada, un primer LC "A" visualiza una colección de "elementos maestros" (p. ej., una lista de hoteles); mientras que un segundo LC "B" visualiza una colección de "elementos subordinados" (p. ej., reseñas de huéspedes para cada hotel). Se puede usar un campo especificado previamente en el elemento actual en el LC "A" para consultar la colección que se visualiza en el LC "B" y seleccionar los elementos subordinados. El LC "B" solo visualizaría los elementos seleccionados que componen el elemento actual en el LC "A". El diseñador puede definir criterios adicionales de filtrado y/o clasificación para consultar la colección de elementos subordinados; por ejemplo, para seleccionar solo las primeras K reseñas, seleccionar solo las reseñas que incluyen un rango de clasificación específico, o similares. Esto puede implementarse de cualquier manera adecuada, incluido el uso de un lenguaje de consulta completo (p. ej., SQL). Un solo LC de "elementos maestros" puede estar conectado a múltiples LC de listas relacionadas; por ejemplo, permitiendo añadir una visualización de lista relacionada de las diez mejores reseñas y/o las diez peores reseñas. Esto se puede conseguir usando componentes repetidores contenidos en la vista, en lugar de LC relacionados separados.In a related list connection, which may be managed or managed by a related list connection manager 198A, a first LC "A" displays a collection of "master items" (e.g., a list of hotels); while a second LC “B” displays a collection of “subordinate elements” (e.g., guest reviews for each hotel). A pre-specified field on the current element in LC "A" can be used to query the collection displayed in LC "B" and select subordinate elements. LC "B" would only display the selected elements that make up the current element in LC "A". The designer can define additional filtering and/or sorting criteria to query the collection of subordinate elements; for example, to select only the first K reviews, select only reviews that include a specific rating range, or similar. This can be implemented in any suitable way, including using a full query language (e.g. SQL). A single "master items" LC can be connected to multiple related list LCs; for example, allowing you to add a related list display of the ten best reviews and/or the ten worst reviews. This can be achieved by using repeater components contained in the view, rather than separate related LCs.

Una conexión de campo agregador, que es gestionada o manejada por un gestor 198B de conexión de campo agregador, es adecuada cuando se ha definido una conexión de lista relacionada. El diseñador puede añadir un campo calculado a la visualización en el LC de elementos maestros "A" que visualiza el valor de una función de agregación aplicada a un campo específico en los elementos de la lista subordinada. Dicha función de agregación es por lo menos una de: recuento, total, promedio, mediana, mínimo, máximo u otra función adecuada.An aggregator field connection, which is managed or managed by an aggregator field connection manager 198B, is suitable when a related list connection has been defined. The designer can add a calculated field to the display in the master element LC "A" that displays the value of an aggregation function applied to a specific field in the subordinate list items. Said aggregation function is at least one of: count, total, average, median, minimum, maximum or other suitable function.

Una conexión de nube de etiquetas, que puede gestionarse o manejarse mediante un gestor 198C de conexión de nube de etiquetas, puede conectar un LC de nube de etiquetas a un LC normal, estando ambos LC asociados con la misma colección o colecciones. El LC de la nube de etiquetas se puede llenar automáticamente con etiquetas derivadas de los elementos existentes en la lista asociada (o una porción de los mismos, según los criterios de filtrado). El usuario puede seleccionar varias etiquetas del LC de la nube de etiquetas. Las etiquetas seleccionadas se usan para formar una consulta, que sirve como filtro y determina qué elementos se muestran en el segundo LC "B". Este puede ser un caso privado de "LC de consulta relacionada" (un LC relacionado que solo se usa para consultas). A tag cloud connection, which may be managed or handled by a tag cloud connection manager 198C, may connect a tag cloud LC to a regular LC, both LCs being associated with the same collection or collections. The tag cloud LC can be automatically populated with tags derived from existing items in the associated list (or a portion thereof, depending on the filtering criteria). The user can select multiple LC tags from the tag cloud. The selected tags are used to form a query, which serves as a filter and determines which items are displayed in the second LC "B". This may be a private case of "related query LC" (a related LC that is only used for queries).

En una conexión de árbol de elementos, que puede ser gestionada o manejada por un gestor 198D de conexión de árbol de elementos, el LC puede visualizar una subjerarquía de elementos (p. ej., un árbol de elementos), tal como un organigrama o un árbol genealógico. La jerarquía se puede definir a través de la existencia de campos de puntero en los elementos, por ejemplo, un puntero al elemento matriz o un conjunto de punteros vinculados a elementos del mismo nivel. Aparte del uso de una estructura en forma de árbol para visualizar minipáginas (cada una de las cuales contiene una vista que se usa para ver un elemento), la estructura puede ser similar a otros LC de tipo carrusel (que también visualizan múltiples elementos).In an element tree connection, which may be managed or managed by an element tree connection manager 198D, the LC may display a subhierarchy of elements (e.g., an element tree), such as an organization chart or a family tree. Hierarchy can be defined through the existence of pointer fields on elements, for example, a pointer to the parent element or a set of pointers linked to sibling elements. Aside from using a tree-like structure to display minipages (each containing a view used to view one item), the structure may be similar to other carousel-type LCs (which also display multiple items).

En una conexión de visualización de formulario, que puede ser gestionada o manejada por un gestor 198E de conexión de visualización de formulario, un LC [a] puede solicitar que un elemento dado [b] se abra en un LC secundario dado [c], usando una vista seleccionada automáticamente o una vista específica [d]. Esto se puede usar, por ejemplo, para visualizar una versión alternativa de un elemento que se visualiza actualmente en el LC [a]; tal como, para visualizar una versión detallada del mismo elemento con una vista más detallada, o para visualizar una presentación alternativa de la misma información (p. ej., visualizar la ubicación en un mapa desplegable en lugar de visualizar una dirección de calle textual). De forma similar, este procedimiento puede usarse para visualizar un "elemento añadido" para crear un nuevo elemento; o para visualizar un formulario de "actualizar elemento" o "eliminar elemento".In a form display connection, which may be managed or managed by a form display connection manager 198E, an LC [a] may request that a given element [b] be opened in a given secondary LC [c], using an automatically selected view or a specific view [d]. This can be used, for example, to display an alternative version of an item currently displayed in the LC [a]; such as, to display a detailed version of the same item with a more detailed view, or to display an alternative presentation of the same information (e.g., displaying the location on a drop-down map instead of displaying a textual street address) . Similarly, this procedure can be used to display an "added item" to create a new item; or to display an "update item" or "delete item" form.

Integración de tienda de appApp store integration

Se hace referencia a la figura 21, que es una ilustración esquemática en diagrama de bloques del WBS 100 que demuestra en particular la integración de la tienda de app, según algunas realizaciones demostrativas de la presente invención. El WBS 100 puede comprender, o puede estar asociado con, una tienda de aplicaciones ("tienda de app") 199, que puede operarse o gestionarse a través de un módulo 199A gestor de tienda de app. Aunque se muestra una tienda 199 de app externa, con fines demostrativos, se aclara que la tienda 199 de app puede comprender, opcionalmente, una o más tiendas de aplicaciones que pueden ser operadas por el proveedor del WBS o por terceros, y pueden ser internas o externas al WBS 100. Un desarrollador de cualquier nivel (p. ej., un desarrollador de sitio normal o un desarrollador externo separado) puede incluir uno o más objetos (p. ej., dependiendo de los permisos del desarrollador) en una tienda 199 de app, para que otros usuarios los compren y/o los descarguen. Dichos objetos pueden incluir, por ejemplo: Aplicaciones de lista; vistas; plantillas (en todos los niveles); tipos de elemento; colecciones (p. ej., vender el acceso a la colección en lugar de la colección en sí); componentes (p. ej., LC particulares con sus asociaciones completas).Reference is made to Figure 21, which is a schematic block diagram illustration of the WBS 100 that particularly demonstrates the integration of the app store, according to some demonstrative embodiments of the present invention. The WBS 100 may comprise, or may be associated with, an application store ("app store") 199, which may be operated or managed through an app store manager module 199A. Although an external app store 199 is shown for demonstration purposes, it is clarified that the app store 199 may optionally comprise one or more application stores that may be operated by the WBS provider or third parties, and may be internal. or external to WBS 100. A developer at any level (e.g., a regular site developer or a separate third-party developer) may include one or more objects (e.g., depending on the developer's permissions) in a store 199 app, so that other users can buy and/or download them. Such objects may include, for example: List applications; views; templates (at all levels); element types; collections (e.g., selling access to the collection rather than the collection itself); components (e.g., particular LCs with their full associations).

El desarrollador puede definir o adjuntar iconos, material de marketing, precio, palabras clave de búsqueda y diversos atributos a los objetos ofrecidos en la tienda 199 de app. Los objetos ofrecidos pueden contener una versión encapsulada de otros objetos requeridos para ellos; por ejemplo, un objeto de vista puede contener varios objetos de tipo de elemento que pueden ser necesarios para su funcionamiento. Los objetos ofrecidos pueden opcionalmente hacer referencia a objetos no incluidos; por ejemplo, una aplicación de lista puede basarse en una vista particular que no está incluida en ella, y dicha vista la proporcionaría el sitio web incluido. El WBS 100 puede utilizar un manejador 117 de referencia faltante para resolver dicha referencia faltante al incluirla mediante una o más formas adecuadas, por ejemplo: (a) resolución automática por nombre y tipo de referencia faltante; (b) solicitar al diseñador que proporcione una resolución explícita; (c) crear una "versión de borrador" del objeto de referencia faltante, en base a la información disponible (tipo, nombre, valores de atributos) y marcarlo para que el diseñador tenga que completarlo más tarde, antes de su publicación. El manejador 117 de referencia faltante también puede realizar una búsqueda de posibles candidatos (p. ej., en base a un nombre similar, propiedades similares, atributos de búsqueda específicos) y puede proporcionar al diseñador una lista clasificada de posibles composiciones.The developer can define or attach icons, marketing materials, price, search keywords and various attributes to the objects offered in the app store 199. Offered objects may contain an encapsulated version of other objects required for them; For example, a view object may contain multiple item type objects that may be required for its operation. Offered objects may optionally refer to non-included objects; For example, a list application may rely on a particular view that is not included in it, and that view would be provided by the included website. The WBS 100 may use a missing reference handler 117 to resolve such missing reference by including it in one or more suitable ways, for example: (a) automatic resolution by name and type of missing reference; (b) ask the designer to provide an explicit resolution; (c) create a "draft version" of the missing reference object, based on the available information (type, name, attribute values) and mark it so that the designer has to complete it later, before publication. The missing reference handler 117 may also perform a search for possible candidates (e.g., based on similar name, similar properties, specific search attributes) and may provide the designer with a ranked list of possible compositions.

Los análisis en el presente documento que utilizan términos tales como, por ejemplo, "procesamiento", "computación", "cálculo", "determinación", "establecimiento", "análisis", "verificación" o similares, pueden referirse a operaciones y/o procesos de un ordenador, una plataforma informática, un sistema informático u otro dispositivo informático electrónico, que manipulan y/o transforman datos representados como cantidades físicas (p. ej., electrónicas) dentro de los registros y/o memorias del ordenador en otros datos representados de forma similar como cantidades físicas dentro de los registros y/o memorias del ordenador u otro medio de almacenamiento de información que puede almacenar instrucciones para realizar operaciones y/o procesos.Discussions herein that use terms such as, for example, "processing", "computation", "calculation", "determination", "establishment", "analysis", "verification" or the like, may refer to operations and /or processes of a computer, a computing platform, a computing system or other electronic computing device, which manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the registers and/or memories of the computer or other information storage medium that can store instructions to perform operations and/or processes.

Algunas realizaciones de la presente invención pueden adoptar la forma de una realización completamente de hardware, una realización completamente de software o una realización que incluya tanto elementos de hardware como de software. Algunas realizaciones de la presente invención pueden implementarse en software, firmware, software residente, microcódigo, una aplicación que un usuario puede descargar y/o instalar, una aplicación que puede ejecutarse en un navegador, una aplicación del lado del cliente, una aplicación del lado del servidor, una aplicación cliente-servidor, o similar. Algunas realizaciones de la presente invención pueden adoptar la forma de un producto de programa de ordenador accesible desde un medio utilizable por ordenador o legible por ordenador que proporciona código de programa para su uso mediante, o en conexión con, un ordenador o cualquier sistema de ejecución de instrucciones. Por ejemplo, un medio utilizable por ordenador o legible por ordenador puede ser o puede incluir cualquier aparato que pueda contener, almacenar, comunicar, propagar o transportar el programa para su uso mediante, o en conexión con, el sistema o dispositivo de ejecución de instrucciones. Algunas realizaciones de la presente invención pueden implementarse, por ejemplo, usando un medio o elemento legible por máquina que puede almacenar una instrucción o un conjunto de instrucciones que, si son ejecutadas por una máquina, hacen que la máquina (p. ej., un ordenador o un dispositivo electrónico) dispositivo) realice un procedimiento y/u operaciones descritas en el presente documento.Some embodiments of the present invention may take the form of an all-hardware embodiment, an all-software embodiment, or an embodiment that includes both hardware elements. as software. Some embodiments of the present invention may be implemented in software, firmware, resident software, microcode, an application that a user can download and/or install, an application that can run in a browser, a client-side application, a client-side application. server, a client-server application, or similar. Some embodiments of the present invention may take the form of a computer program product accessible from a computer-usable or computer-readable medium that provides program code for use by, or in connection with, a computer or any execution system. Instructions. For example, a computer usable or computer readable medium may be or may include any device that can contain, store, communicate, propagate or transport the program for use by, or in connection with, the instruction execution system or device. . Some embodiments of the present invention may be implemented, for example, using a machine-readable medium or element that can store an instruction or set of instructions that, if executed by a machine, cause the machine (e.g., a computer or an electronic device) device) perform a procedure and/or operations described herein.

Algunas realizaciones de la presente invención pueden incluir o utilizar, por ejemplo, un procesador, una unidad central de procesamiento (CPU), un procesador de señales digitales (DSP), un controlador, un circuito integrado (IC), una unidad de memoria, una unidad de almacenamiento, unidades de entrada, unidades de salida, unidades de comunicación por cable y/o inalámbricas, un sistema operativo y otros componentes de hardware y/o módulos de software adecuados.Some embodiments of the present invention may include or use, for example, a processor, a central processing unit (CPU), a digital signal processor (DSP), a controller, an integrated circuit (IC), a memory unit, a storage unit, input units, output units, wired and/or wireless communication units, an operating system and other suitable hardware components and/or software modules.

Algunas realizaciones pueden implementarse como una aplicación o "app" para un teléfono inteligente o tableta o dispositivo informático portátil, o mediante la utilización de la misma, que puede descargarse y/o instalarse en dicho dispositivo electrónico desde una "tienda de aplicaciones" o un mercado en línea para aplicacionesSome embodiments may be implemented as or through the use of an application or "app" for a smartphone or tablet or portable computing device, which may be downloaded and/or installed on said electronic device from an "app store" or a online marketplace for apps

Las funciones, operaciones, componentes y/o rasgos característicos descritos en el presente documento con referencia a una o más realizaciones de la presente invención, pueden combinarse o utilizarse en combinación con una o más funciones, operaciones, componentes y/o rasgos característicos descritos en el presente documento con referencia a una o más realizaciones de la presente invención. The functions, operations, components and/or characteristic features described herein with reference to one or more embodiments of the present invention, may be combined or used in combination with one or more functions, operations, components and/or characteristic features described in the present document with reference to one or more embodiments of the present invention.

Claims (14)

REIVINDICACIONES 1. Un sistema de creación de sitios web, WBS, que comprende:1. A website building system, WBS, comprising: un grupo de elementos de contenido que se visualizarán en un sitio web que se está construyendo;a group of content elements that will be displayed on a website being built; un conjunto de vistas que se utiliza para visualizar dichos elementos, siendo cada vista una plantilla para una sección de una página web de dicho sitio web;a set of views used to display said elements, each view being a template for a section of a web page of said website; un módulo de adaptación y composición dinámica adaptado para proporcionar dinámicamente una vista adecuada para cada elemento de contenido para visualizar dicho elemento de contenido en dicho sitio web,a dynamic composition and adaptation module adapted to dynamically provide a suitable view for each content item for displaying said content item on said website, en el que el módulo de adaptación y composición dinámica está configurado para localizar dinámicamente una composición de vista a partir de dicho conjunto de vistas y/o construir una composición de vista sobre la marcha y/o modificar la vista localizada, el sistema de creación de sitios web se caracteriza por que además comprende: un gestor (198) de componente de enlace configurado para definir un componente de enlace;wherein the dynamic adaptation and composition module is configured to dynamically locate a view composition from said set of views and/or construct a view composition on the fly and/or modify the located view, the view creation system websites are characterized in that they also comprise: a link component manager (198) configured to define a link component; en el que cada componente de enlace es un contenedor de varias páginas que visualiza elementos de contenido obtenidos a partir de dicho grupo de elementos de contenido a través de elementos de contenido de vista asociados de forma dinámica o estática, con cada minipágina de dicho contenedor de varias páginas que visualiza un elemento de contenido a través de la vista asociada; ywherein each link component is a multi-page container that displays content elements obtained from said group of content elements through dynamically or statically associated view content elements, with each minipage of said content container multiple pages that display a content item through the associated view; and en el que el gestor (198) de componente de enlace está configurado para conectar dos componentes de enlace que residen en la misma página web o plantilla en base a una conexión de campo agregador;wherein the link component manager (198) is configured to connect two link components residing on the same web page or template based on an aggregator field connection; en el que un gestor (198B) de conexión de campo de agregación está configurado para aplicar una función de agregación a un campo en una lista de elementos de contenido en uno de dichos dos componentes de enlace; en el que dicha función de agregación es por lo menos una de: recuento, total, promedio, mediana, mínimo y máximo.wherein an aggregation field connection manager (198B) is configured to apply an aggregation function to a field in a list of content items in one of said two link components; wherein said aggregation function is at least one of: count, total, average, median, minimum and maximum. 2. El sistema de creación de sitios web de la reivindicación 1, en el que el sistema admite tipos de elementos de contenido, en el que por lo menos una vista en el conjunto de vistas está asociada con un tipo de elemento de contenido y se puede usar para visualizar elementos que pertenecen a dicho tipo de elemento de contenido.2. The website creation system of claim 1, wherein the system supports content item types, wherein at least one view in the view set is associated with a content item type and is can use to display items that belong to that content item type. 3. El sistema de creación de sitios web de la reivindicación 1, en el que el sistema admite la herencia de vistas a través de un módulo de herencia de vista que puede generar una vista derivada que hereda características de una vista existente.3. The website building system of claim 1, wherein the system supports view inheritance through a view inheritance module that can generate a derived view that inherits characteristics of an existing view. 4. El sistema de creación de sitios web de la reivindicación 3, que además comprende un buscador de vista matriz para buscar hacia arriba una vista adecuada en un árbol de herencia de vista, si una vista dada no es adecuada para un elemento de contenido dado.4. The website building system of claim 3, further comprising a parent view finder for searching up a suitable view in a view inheritance tree, if a given view is not suitable for a given content item. . 5. El sistema de creación de sitios web de la reivindicación 1, que además comprende un gestor de diseño dinámico para aplicar una o más reglas de diseño dinámico a una vista particular.5. The website creation system of claim 1, further comprising a dynamic layout manager for applying one or more dynamic layout rules to a particular view. 6. El sistema de creación de sitios web de la reivindicación 1, en el que una vista comprende un componente repetidor contenido dentro de dicha vista, en el que el componente repetidor visualiza una lista secundaria relacionada con una lista primaria de elementos de contenido visualizados a través de una vista.6. The website building system of claim 1, wherein a view comprises a repeater component contained within said view, wherein the repeater component displays a secondary list related to a primary list of content items displayed at through a view. 7. El sistema de creación de sitios web de la reivindicación 1, en el que el gestor de componente de enlace está asociado con un gestor de conexión de nube de etiquetas para interconectar entre dos componentes de enlace en base a la selección de etiquetas de una etiqueta de nube que está asociada con uno o dichos dos componentes de enlace.7. The website creation system of claim 1, wherein the link component manager is associated with a tag cloud connection manager to interface between two link components based on the selection of tags from one cloud tag that is associated with one or both of these link components. 8. El sistema de creación de sitios web de la reivindicación 1, que además comprende:8. The website creation system of claim 1, further comprising: un módulo de adaptación de elemento específico para adaptar un elemento de contenido específico realizando por lo menos uno de los siguientes:a specific element adaptation module to adapt a specific content element by performing at least one of the following: (a) añadir uno o más componentes a un contenido visualizado en un contexto de aplicación de una vista específica; (b) eliminar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica; (c) modificar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica.(a) add one or more components to a content displayed in an application context of a specific view; (b) remove one or more components of a content displayed in an application context of a specific view; (c) modify one or more components of a content displayed in an application context of a specific view. 9. El sistema de creación de sitios web de la reivindicación 8, en el que el módulo de adaptación de elemento específico comprende un creador de variante local para crear una variante local de una vista dada como una vista interna derivada y para añadir una capa de modificaciones a dicha vista interna derivada. 9. The website creation system of claim 8, wherein the element-specific adaptation module comprises a local variant creator for creating a local variant of a given view as a derived internal view and for adding a layer of modifications to said derived internal view. 10. Un procedimiento computerizado para construir un sitio web, que comprende:10. A computerized procedure for building a website, comprising: almacenar un grupo de elementos de contenido que se visualizarán en un sitio web que se está construyendo; almacenar un conjunto de vistas que se utiliza para visualizar dichos elementos, siendo cada vista una plantilla para una sección de una página web de dicho sitio web;store a group of content elements to be displayed on a website being built; storing a set of views that is used to display said elements, each view being a template for a section of a web page of said website; realizar una composición y adaptación dinámica para proporcionar dinámicamente una vista adecuada para cada elemento de contenido para visualizar dicho elemento de contenido en dicho sitio web, que comprende localizar dinámicamente una composición de vista a partir de dicho conjunto de vistas y/o construir una composición de vista sobre la marcha y/o modificar la composición de vista localizada, el procedimiento se caracteriza además por: definir componentes de enlace,performing dynamic composition and adaptation to dynamically provide a suitable view for each content item for displaying said content item on said website, comprising dynamically locating a view composition from said set of views and/or constructing a view composition view on the fly and/or modify the localized view composition, the procedure is further characterized by: defining link components, en el que cada componente de enlace es un contenedor de varias páginas que visualiza elementos de dicho grupo de elementos de contenido a través de una vista asociada dinámica o estáticamente para elementos de contenido, visualizando cada minipágina de dicho contenedor de varias páginas un elemento de contenido a través de la vista asociada; ywherein each link component is a multi-page container that displays elements of said group of content elements through a dynamically or statically associated view for content elements, each mini-page of said multi-page container displaying a content element through the associated view; and conectar dos componentes de enlace que residen en la misma página o plantilla en base a una conexión de campo agregador;connect two link components that reside on the same page or template based on an aggregator field connection; aplicar una función de agregación a un campo en una lista de elementos de contenido en uno de dichos dos componentes de enlace;applying an aggregation function to a field in a list of content items in one of said two link components; en el que dicha función de agregación es por lo menos una de: recuento, total, promedio, mediana, mínimo y máximo.wherein said aggregation function is at least one of: count, total, average, median, minimum and maximum. 11. El procedimiento computarizado de la reivindicación 10, que además comprende dar soporte a la herencia de vistas al generar una vista derivada que hereda características de una vista existente.11. The computerized method of claim 10, further comprising supporting view inheritance by generating a derived view that inherits characteristics of an existing view. 12. El procedimiento computarizado de la reivindicación 10, que además comprende aplicar una o más reglas de diseño dinámico a dicha vista particular.12. The computerized method of claim 10, further comprising applying one or more dynamic layout rules to said particular view. 13. El procedimiento computarizado de la reivindicación 10, en el que la vista dada comprende un componente repetidor contenido dentro de dicha vista, en el que el componente repetidor visualiza una lista secundaria relacionada con una lista primaria de elementos de contenido visualizados a través de dicha vista dada.13. The computerized method of claim 10, wherein the given view comprises a repeater component contained within said view, wherein the repeater component displays a secondary list related to a primary list of content items displayed through said given view. 14. El procedimiento computarizado de la reivindicación 10, que además comprende:14. The computerized method of claim 10, further comprising: realizar una adaptación de elemento específico para adaptar un elemento de contenido específico realizando por lo menos uno de los siguientes:perform a specific item adaptation to adapt a specific content item by doing at least one of the following: (a) añadir uno o más componentes a un contenido visualizado en un contexto de aplicación de una vista específica; (b) eliminar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica; (c) modificar uno o más componentes de un contenido visualizado en un contexto de aplicación de una vista específica. (a) add one or more components to a content displayed in an application context of a specific view; (b) remove one or more components of a content displayed in an application context of a specific view; (c) modify one or more components of a content displayed in an application context of a specific view.
ES14763037T 2013-03-14 2014-03-13 Building Websites Using Data Lists Active ES2948388T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361781866P 2013-03-14 2013-03-14
PCT/IB2014/059724 WO2014141122A1 (en) 2013-03-14 2014-03-13 Device, system, and method of website building by utilizing data lists

Publications (1)

Publication Number Publication Date
ES2948388T3 true ES2948388T3 (en) 2023-09-11

Family

ID=51534458

Family Applications (2)

Application Number Title Priority Date Filing Date
ES14763037T Active ES2948388T3 (en) 2013-03-14 2014-03-13 Building Websites Using Data Lists
ES14763655T Active ES2947532T3 (en) 2013-03-14 2014-03-13 A system and method for dialogue customization

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES14763655T Active ES2947532T3 (en) 2013-03-14 2014-03-13 A system and method for dialogue customization

Country Status (15)

Country Link
US (7) US9753911B2 (en)
EP (2) EP2972731B1 (en)
JP (10) JP6433925B2 (en)
KR (5) KR101953710B1 (en)
CN (4) CN105339881B (en)
AU (9) AU2014229260C1 (en)
BR (1) BR112015022792B1 (en)
CA (4) CA2904830C (en)
EA (2) EA201591779A1 (en)
ES (2) ES2948388T3 (en)
HK (2) HK1220264A1 (en)
IL (7) IL310457A (en)
MX (3) MX2015012744A (en)
MY (2) MY192602A (en)
WO (2) WO2014141122A1 (en)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103733A1 (en) 2012-01-06 2013-07-11 Level 3 Communications, Llc Method and apparatus for generating and converting sales opportunities
US11188509B2 (en) 2012-02-20 2021-11-30 Wix.Com Ltd. System and method for generating a visual data structure associated with business information based on a hierarchy of components
US9996566B2 (en) 2012-02-20 2018-06-12 Wix.Com Ltd. Visual design system for generating a visual data structure associated with a semantic composition based on a hierarchy of components
USD771079S1 (en) * 2013-01-04 2016-11-08 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
USD757053S1 (en) 2013-01-04 2016-05-24 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
USD771078S1 (en) 2013-01-04 2016-11-08 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
CN105339881B (en) 2013-03-14 2019-04-30 维克斯网有限公司 By using the equipment, system and method for data list construction website
US9298785B2 (en) * 2013-07-19 2016-03-29 Paypal, Inc. Methods, systems, and apparatus for generating search results
US10291729B2 (en) * 2014-01-21 2019-05-14 Apptimize, Inc. User interface modification and usage tracking
AU2015216608B2 (en) 2014-02-11 2019-05-23 Wix.Com Ltd. System for synchronization of changes in edited websites and interactive applications
WO2015125369A1 (en) * 2014-02-24 2015-08-27 ソニー株式会社 Information processing device, image processing method, and program
AU2015254922B2 (en) 2014-04-29 2020-01-30 Wix.Com Ltd. System and method for the creation and use of visually-diverse high-quality dynamic layouts
US10007493B1 (en) * 2014-12-30 2018-06-26 EMC IP Holding Company LLC Event based validation
AU2016272747A1 (en) * 2015-05-31 2018-01-04 Wix.Com Ltd System and method for capability packages offering based on analysis of edited websites and their use
EP3304338B1 (en) * 2015-06-07 2024-03-06 Wix.com Ltd. System and method for the generation of an adaptive user interface in a website building system
WO2017017663A1 (en) 2015-07-30 2017-02-02 Wix. Com Ltd. System and method for the creation and use of visually- diverse high-quality dynamic visual data structures
CA2993762A1 (en) * 2015-07-30 2017-02-02 Wix.Com Ltd. System integrating a mobile device application creation, editing and distribution system with a website design system
KR101629383B1 (en) * 2015-11-11 2016-06-13 채규국 Method for auto-building homepage by architecture of cloud web-hard file and folder, and system thereof
US10620920B2 (en) * 2016-05-17 2020-04-14 Google Llc Automatic graphical user interface generation from notification data
WO2017208135A1 (en) 2016-05-29 2017-12-07 Wix.Com Ltd. Creation and update of hierarchical websites based on collected business knowledge
US10367879B2 (en) * 2016-06-10 2019-07-30 Apple Inc. Download prioritization
JP2019531524A (en) 2016-07-27 2019-10-31 ウィックス.コム リミテッド. Website construction system and method for website construction system
US11449573B2 (en) 2016-07-27 2022-09-20 Wix.Com Ltd. System and method for smart interaction between website components
CN112601121B (en) * 2016-08-16 2022-06-10 上海交通大学 Method and system for personalized presentation of multimedia content components
IL301284A (en) 2016-12-21 2023-05-01 Wix Com Ltd Actionable widget cards
EP3577512A1 (en) * 2017-02-06 2019-12-11 Chromera, Inc. Polymorphic electro-optic displays
US11353693B2 (en) * 2017-02-06 2022-06-07 Paul Atkinson Polymorphic electro-optic displays
CA3063609A1 (en) * 2017-06-08 2018-12-13 Wix.Com Ltd. System and method for smart interaction between website components
US11314837B2 (en) 2017-07-24 2022-04-26 Wix.Com Ltd. Website builder with integrated search engine optimization support
EP3593254B1 (en) * 2017-07-24 2023-08-02 Wix.com Ltd. Editing a database during preview of a virtual web page
CN107609050A (en) * 2017-08-21 2018-01-19 上海精灵天下数字技术有限公司 New page system and its works generation method based on HTML5
CA3082323A1 (en) 2017-11-28 2019-06-06 Wix.Com Ltd. System and method for the generation and editing of text content in website building systems
US20190205901A1 (en) * 2017-12-29 2019-07-04 Facebook, Inc. Dynamic creation of content items for distribution in an online system by combining content components
JP2021512364A (en) * 2018-02-04 2021-05-13 ウィックス.コム リミテッド. Systems and methods for handling overlapping objects in a visual editing system
WO2019156697A1 (en) * 2018-02-06 2019-08-15 Chromera, Inc. Polymorphic electro-optic displays
CN108520043A (en) * 2018-03-30 2018-09-11 纳思达股份有限公司 Data object acquisition method, apparatus and system, computer readable storage medium
AU2018202382A1 (en) 2018-04-04 2019-10-24 ADEVI lP HOLDING COMPANY PTY LTD Methods and systems for resolving user interface features, and related applications
US20190342405A1 (en) * 2018-05-04 2019-11-07 Salesforce.Com, Inc. Usage-based intelligent loading of components in a component-driven, multi-tenant cloud application
WO2019244762A1 (en) 2018-06-21 2019-12-26 株式会社Tsunagu.AI Web content automated generation system
US10678881B2 (en) 2018-06-29 2020-06-09 Salesforce.Com, Inc. Usage-based predictive prefetching and caching of component-based web pages for performance optimization
US10783405B2 (en) * 2018-10-31 2020-09-22 Salesforce.Com, Inc. Refinement of machine learning engines for automatically generating component-based user interfaces
BR112021009093A2 (en) 2018-11-14 2021-08-10 Wix.Com Ltd. website development system, and method for a website development system
JP7354294B2 (en) 2019-05-20 2023-10-02 ウィックス.コム リミテッド. System and method for providing responsive editing and display integrating hierarchical fluid components and dynamic layout
BR112021023849A2 (en) 2019-05-28 2022-01-04 Wix Com Ltd Website building system and method for a website building system
CA3141779A1 (en) 2019-05-30 2020-12-03 Wix.Com Ltd. System and method for the generation and interactive editing of living documents
CN110554885A (en) * 2019-08-29 2019-12-10 五八有限公司 Sub-application generation method and device, electronic equipment and storage medium
CN110727434B (en) * 2019-10-21 2023-07-04 百度在线网络技术(北京)有限公司 Rendering method, rendering device, electronic equipment and storage medium
US10839453B1 (en) 2019-11-26 2020-11-17 Capital One Services, Llc Systems and methods for identifying location-based information associated with a product on a web page
CN111142863B (en) * 2019-12-19 2023-06-30 深圳市金证科技股份有限公司 Page generation method and device
CN111639100A (en) * 2020-04-02 2020-09-08 刘沁 Method and device for comparing capital construction and capital supply material design inventory and declaration information
US11947549B2 (en) * 2020-04-10 2024-04-02 Dropbox, Inc. Generating modified view based on identified subset of content items and providing modified view to user associated with user account for display
CN111666028B (en) * 2020-04-27 2021-08-27 苏宁云计算有限公司 Method, apparatus, medium, and computer device for creating a multi-page sliding view
JP7248802B2 (en) * 2020-05-14 2023-03-29 グーグル エルエルシー Rendering video with dynamic components
CN112330774B (en) * 2020-11-24 2023-09-08 携程旅游网络技术(上海)有限公司 Method and device for synthesizing pictures in batches, electronic equipment and storage medium
US11956199B2 (en) 2021-07-26 2024-04-09 Airship Group, Inc. Software development kit enabled cross-channel two-way software application messaging
US11727084B1 (en) * 2022-05-23 2023-08-15 Salesforce, Inc. Techniques for automatically configuring web components
KR20240009181A (en) * 2022-07-13 2024-01-22 쿠팡 주식회사 Item list information providing method and electronic device for the same
KR102544538B1 (en) * 2022-12-01 2023-06-16 (주)알앤씨소프트 Method for controllng a website operation management system
CN116243899B (en) * 2022-12-06 2023-09-15 浙江讯盟科技有限公司 User-defined arrangement container and method based on network environment
KR102653618B1 (en) 2024-01-17 2024-04-01 서창호 Methods for designing and providing web systems that reflect customer needs

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515682B1 (en) * 1996-05-09 2003-02-04 National Instruments Corporation System and method for editing a control utilizing a preview window to view changes made to the control
US6100885A (en) * 1996-07-06 2000-08-08 International Business Machines Corporation Supporting modification of properties via a computer system's user interface
US6121964A (en) * 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
US5950001A (en) 1997-06-03 1999-09-07 Sun Microsystems, Inc. Method and apparatus for customizing a software component
US5991534A (en) 1997-06-03 1999-11-23 Sun Microsystems, Inc. Method and apparatus for editing a software component
US6185587B1 (en) * 1997-06-19 2001-02-06 International Business Machines Corporation System and method for building a web site with automated help
US6684369B1 (en) * 1997-06-19 2004-01-27 International Business Machines, Corporation Web site creator using templates
US6304886B1 (en) 1997-06-19 2001-10-16 International Business Machines Corporation System and method for building a web site using specific interface
US6263352B1 (en) 1997-11-14 2001-07-17 Microsoft Corporation Automated web site creation using template driven generation of active server page applications
US7720723B2 (en) * 1998-09-18 2010-05-18 Amazon Technologies, Inc. User interface and methods for recommending items to users
WO2000049519A1 (en) * 1999-02-17 2000-08-24 British Telecommunications Public Limited Company Document management method and tool
AUPQ291299A0 (en) * 1999-09-17 1999-10-07 Silverbrook Research Pty Ltd A self mapping surface and related applications
JP4256543B2 (en) * 1999-08-17 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Display information determination method and apparatus, and storage medium storing software product for display information determination
US7886221B1 (en) * 1999-11-05 2011-02-08 Decentrix, Inc. Method and apparatus for storing web site data by web site dimensions and generating a web site having complementary elements
JP2001142673A (en) 1999-11-11 2001-05-25 Sony Corp Information providing system
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US7958457B1 (en) * 1999-12-20 2011-06-07 Wireless Agents, Llc Method and apparatus for scheduling presentation of digital content on a personal communication device
US7844503B2 (en) * 2000-01-14 2010-11-30 Fogelson Bruce A Builders on-line assistant
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
WO2002086704A1 (en) 2000-10-11 2002-10-31 Bea Systems, Inc. Smart generator
US7167903B2 (en) * 2001-04-25 2007-01-23 Teacherweb, Inc. System and method for user updateable web sites and web pages
US20020158902A1 (en) * 2001-04-30 2002-10-31 Hooker Bryce H. Method and apparatus for automatically publishing associate information
US6990498B2 (en) * 2001-06-15 2006-01-24 Sony Corporation Dynamic graphical index of website content
US20030033370A1 (en) * 2001-08-07 2003-02-13 Nicholas Trotta Media-related content personalization
JP2003109023A (en) * 2001-09-27 2003-04-11 Fuji Photo Film Co Ltd Method, device and program for outputting template
JP2003140893A (en) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> Device and method for automatically creating user interface program, program and storage medium
JP2003196264A (en) 2001-12-26 2003-07-11 Fukui Computer Kk Web page preparing method, web page preparing program, and web page preparing device
US20070198910A1 (en) * 2002-03-26 2007-08-23 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US7200820B1 (en) * 2002-09-27 2007-04-03 Bellsouth Intellectual Property Corp. System and method for viewing search results
US20040216084A1 (en) * 2003-01-17 2004-10-28 Brown Albert C. System and method of managing web content
US7188316B2 (en) * 2003-03-24 2007-03-06 Microsoft Corporation System and method for viewing and editing multi-value properties
US20050108620A1 (en) 2003-11-19 2005-05-19 Microsoft Corporation Method and system for selecting and manipulating multiple objects
JP2005196642A (en) 2004-01-09 2005-07-21 Nissay Information Technology Co Ltd Web page creating system and its method
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US20060200336A1 (en) * 2005-03-04 2006-09-07 Microsoft Corporation Creating a lexicon using automatic template matching
US20060206517A1 (en) 2005-03-11 2006-09-14 Yahoo! Inc. System and method for listing administration
US7447706B2 (en) * 2005-04-01 2008-11-04 Microsoft Corporation Method and system for generating an auto-completion list for a cascading style sheet selector
US7536641B2 (en) * 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US20080319950A1 (en) * 2005-07-13 2008-12-25 Rivergy, Inc. System for building a website
JP2007066304A (en) 2005-08-05 2007-03-15 Canon Inc Information processor apparatus, its control method, and program
US7761399B2 (en) * 2005-08-19 2010-07-20 Evree Llc Recommendation networks for ranking recommendations using trust rating for user-defined topics and recommendation rating for recommendation sources
US8099674B2 (en) * 2005-09-09 2012-01-17 Tableau Software Llc Computer systems and methods for automatically viewing multidimensional databases
JP3853827B1 (en) * 2005-10-18 2006-12-06 公靖 中野 How to display a range graph in a cell in a spreadsheet
US7676505B2 (en) * 2006-01-27 2010-03-09 International Business Machines Corporation System, method and computer program product for shared user tailoring of websites
JP2007206746A (en) * 2006-01-30 2007-08-16 Canon Inc Information processor, and control method, program and storage medium therefor
CN101025738B (en) * 2006-02-21 2013-02-13 广州天懋数码电子商务有限公司 Template-free dynamic website generating method
US20070214148A1 (en) * 2006-03-09 2007-09-13 Bodin William K Invoking content management directives
WO2007103583A2 (en) 2006-03-09 2007-09-13 Gracenote, Inc. Method and system for media navigation
US8504932B2 (en) * 2006-04-13 2013-08-06 Shutterfly, Inc. Image collage builder
JP2007293662A (en) * 2006-04-26 2007-11-08 Internet Kokokusha:Kk Home page server device, home page providing method, and computer program
RU2305314C1 (en) 2006-06-28 2007-08-27 Общество с ограниченной ответственностью "Центр Компьютерного моделирования" Method for finding and selecting information in various databases
US7685519B1 (en) 2006-07-18 2010-03-23 Intuit Inc. Process and apparatus for providing a customizable content tooltip
US8112703B2 (en) * 2006-07-21 2012-02-07 Yahoo! Inc. Aggregate tag views of website information
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
JP2008140044A (en) 2006-11-30 2008-06-19 Brother Ind Ltd Image projecting device, image projecting program and image correction method
US9594731B2 (en) 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
US8040699B2 (en) 2007-07-09 2011-10-18 Active-Semi, Inc. Secondary side constant voltage and constant current controller
JP2009053912A (en) 2007-08-27 2009-03-12 Rakuten Inc Information processing device, method and program
US7917859B1 (en) * 2007-09-21 2011-03-29 Adobe Systems Incorporated Dynamic user interface elements
JP2009146186A (en) 2007-12-14 2009-07-02 Az:Kk Web page creation support device
US7444592B1 (en) * 2007-12-27 2008-10-28 International Business Machines Corporation Methods and systems involving object attribute recognition
US20100025114A1 (en) 2008-01-22 2010-02-04 Brady William J PCD Percussion Drill Bit
US8151194B1 (en) * 2008-03-26 2012-04-03 Google Inc. Visual presentation of video usage statistics
US8225198B2 (en) * 2008-03-31 2012-07-17 Vistaprint Technologies Limited Flexible web page template building system and method
WO2009135187A1 (en) * 2008-05-01 2009-11-05 Blip, Inc. Method and apparatus for providing dynamic playlists and tag-tuning of multimedia objects
GB0808109D0 (en) * 2008-05-02 2008-06-11 Wave2 Media Solutions Ltd Automatic document generator
CN101286120A (en) * 2008-05-28 2008-10-15 北京中企开源信息技术有限公司 Website page manufacture method and system
CN102084388A (en) * 2008-06-23 2011-06-01 双重验证有限公司 Automated monitoring and verification of internet based advertising
JP2010009167A (en) * 2008-06-25 2010-01-14 Ricoh Co Ltd Screen display device, screen display method, and screen display program
US20100036856A1 (en) * 2008-08-05 2010-02-11 International Business Machines Corporation Method and system of tagging email and providing tag clouds
JP2010049598A (en) * 2008-08-25 2010-03-04 Naninani.Tv:Kk Web-site creation support device and program
US20100235806A1 (en) * 2009-03-13 2010-09-16 Microsoft Corporation Rich Web Site Authoring And Design
US20100235411A1 (en) * 2009-03-16 2010-09-16 Bray Carne Robert Gordon Systems and methods for creating a customized website
US20100251143A1 (en) 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website
US8392828B2 (en) 2009-05-20 2013-03-05 Yahoo! Inc. Open theme builder and API
US8224851B2 (en) * 2009-07-28 2012-07-17 Oracle International Corporation Tag creation system
US9019349B2 (en) 2009-07-31 2015-04-28 Naturalpoint, Inc. Automated collective camera calibration for motion capture
US20110191671A1 (en) 2010-01-29 2011-08-04 Extensis, Inc. Website Font Previewing
JP5596383B2 (en) * 2010-03-23 2014-09-24 富士通テン株式会社 In-vehicle device interface management system and interface management program
US20110258534A1 (en) * 2010-04-16 2011-10-20 Microsoft Corporation Declarative definition of complex user interface state changes
JP2013530447A (en) 2010-05-04 2013-07-25 ライヴ マトリックス インコーポレイテッド Web time index that associates index elements with metadata
GB201010878D0 (en) 2010-06-29 2010-08-11 Ge Healthcare As Dye compositiion and dye syntheses
US20130167012A1 (en) 2010-07-08 2013-06-27 Fisher Printing, Inc. Dynamic website building system
CA2716843C (en) * 2010-10-06 2017-11-07 Ibm Canada Limited - Ibm Canada Limitee Combined properties dialog from different sources
JP5773618B2 (en) * 2010-11-08 2015-09-02 キヤノン株式会社 Information processing apparatus, control method for information processing apparatus, and program
US8549425B2 (en) * 2010-12-02 2013-10-01 Sony Corporation Visual treatment for a user interface in a content integration framework
US8793568B2 (en) * 2011-02-22 2014-07-29 Accenture Global Services Limited Page designer with customization constraints
US9087035B1 (en) * 2011-03-31 2015-07-21 Intuit Inc. Website creation and management based on web analytics data
US8898629B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US9152616B2 (en) * 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
US10061860B2 (en) * 2011-07-29 2018-08-28 Oath Inc. Method and system for personalizing web page layout
WO2013019307A1 (en) * 2011-08-04 2013-02-07 Thomson Licensing Content recommendation method and apparatus
US8737729B2 (en) * 2011-09-30 2014-05-27 Ebay Inc. Re-ranking item recommendations based on image feature data
US10565296B2 (en) * 2011-11-08 2020-02-18 Microsoft Technology Licensing, Llc Designing interactive web templates
US9038014B2 (en) * 2011-12-15 2015-05-19 Microsoft Technology Licensing, Llc Intelligently recommending schemas based on user input
US9311427B2 (en) * 2012-01-03 2016-04-12 Cimpress Schweiz Gmbh Automated generation of mobile optimized website based on an existing conventional web page description
US9223456B2 (en) * 2012-01-20 2015-12-29 Cimpress Schweiz Gmbh Digital image editing
DE102013202782A1 (en) 2012-02-20 2013-08-22 Wixpress Ltd Server-based web page design system that integrates dynamic layout and dynamic content
US20140040724A1 (en) * 2012-08-01 2014-02-06 Minds and Machines, LLC Method and system for website creation
EP2728498A1 (en) * 2012-11-06 2014-05-07 Open Text S.A. System and method for creation of templates
US20140173563A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Editor visualizations
US20140258841A1 (en) * 2013-03-07 2014-09-11 Smugmug, Inc. Method of building a customizable website
US10977426B2 (en) * 2013-03-07 2021-04-13 Smugmug, Inc. Method of designing a customizable website
US9286273B1 (en) * 2013-03-11 2016-03-15 Parallels IP Holding GmbH Method and system for implementing a website builder
CN105339881B (en) * 2013-03-14 2019-04-30 维克斯网有限公司 By using the equipment, system and method for data list construction website
US9292579B2 (en) * 2013-11-01 2016-03-22 Intuit Inc. Method and system for document data extraction template management
WO2015078231A1 (en) * 2013-11-26 2015-06-04 优视科技有限公司 Method for generating webpage template and server
AU2014357286A1 (en) * 2013-11-29 2016-06-23 1033759 Alberta Ltd. System and method for generating and publishing electronic content from predetermined templates

Also Published As

Publication number Publication date
EP2972731B1 (en) 2023-04-12
MX361586B (en) 2018-12-11
US20170322922A1 (en) 2017-11-09
KR20210010957A (en) 2021-01-28
AU2014229331C1 (en) 2020-04-16
US20220309239A1 (en) 2022-09-29
AU2014229260A1 (en) 2015-10-15
EP2972977A2 (en) 2016-01-20
US20200175224A1 (en) 2020-06-04
JP7059323B2 (en) 2022-04-25
CN110045894A (en) 2019-07-23
KR102007005B1 (en) 2019-08-02
AU2014229331A1 (en) 2015-10-15
JP6419736B2 (en) 2018-11-07
EP2972731A1 (en) 2016-01-20
IL274941B1 (en) 2024-03-01
ES2947532T3 (en) 2023-08-11
MY170707A (en) 2019-08-27
JP6978558B2 (en) 2021-12-08
WO2014141130A3 (en) 2014-12-11
AU2020200349A1 (en) 2020-02-06
JP2022033768A (en) 2022-03-02
JP2024056825A (en) 2024-04-23
US20140282130A1 (en) 2014-09-18
CN110045894B (en) 2022-07-26
KR20220003671A (en) 2022-01-10
JP2021007002A (en) 2021-01-21
AU2014229331B2 (en) 2019-10-17
AU2019284073A1 (en) 2020-01-23
CA3208976A1 (en) 2014-09-18
BR112015022812A8 (en) 2019-11-26
CA2904830C (en) 2020-12-29
BR112015022792B1 (en) 2022-04-19
KR20150132445A (en) 2015-11-25
US20210256206A1 (en) 2021-08-19
AU2014229260C1 (en) 2018-07-12
CA2904813A1 (en) 2014-09-18
AU2021269367A1 (en) 2021-12-16
BR112015022812A2 (en) 2017-07-18
MX2018005419A (en) 2020-11-06
EP2972977B1 (en) 2023-05-10
AU2024201328A1 (en) 2024-03-21
AU2014229260B2 (en) 2018-03-15
JP2019036331A (en) 2019-03-07
MX2015012744A (en) 2016-06-21
EA201591779A1 (en) 2016-03-31
KR20190092614A (en) 2019-08-07
IL241424B (en) 2019-07-31
JP6744380B2 (en) 2020-08-19
JP7420861B2 (en) 2024-01-23
US20230289521A1 (en) 2023-09-14
AU2022200633A1 (en) 2022-02-24
JP7437369B2 (en) 2024-02-22
HK1220264A1 (en) 2017-04-28
JP2020173841A (en) 2020-10-22
CA2904830A1 (en) 2014-09-18
CN105408885A (en) 2016-03-16
IL261830A (en) 2018-10-31
AU2022200633B2 (en) 2024-01-18
KR20150129330A (en) 2015-11-19
CA2904813C (en) 2023-10-03
IL285082A (en) 2021-08-31
US10984185B2 (en) 2021-04-20
JP2022093399A (en) 2022-06-23
AU2018202241A1 (en) 2018-04-26
AU2024202542A1 (en) 2024-05-09
IL274941A (en) 2020-07-30
CN110046330B (en) 2024-01-12
IL241424A0 (en) 2015-11-30
IL310457A (en) 2024-03-01
KR102347431B1 (en) 2022-01-04
US11361157B2 (en) 2022-06-14
KR102402415B1 (en) 2022-05-25
AU2021269367B2 (en) 2023-11-30
BR112015022792A2 (en) 2017-07-18
JP6730399B2 (en) 2020-07-29
JP2024029229A (en) 2024-03-05
MY192602A (en) 2022-08-29
AU2018202241B2 (en) 2019-10-03
CN105339881A (en) 2016-02-17
CN110046330A (en) 2019-07-23
US11914949B2 (en) 2024-02-27
IL261830B (en) 2020-05-31
HK1221298A1 (en) 2017-05-26
IL241423B (en) 2018-10-31
CN105408885B (en) 2018-11-13
EP2972977A4 (en) 2017-02-22
CN105339881B (en) 2019-04-30
KR102207810B1 (en) 2021-01-26
IL267674A (en) 2019-08-29
EA201591606A1 (en) 2016-04-29
AU2018202241C1 (en) 2020-04-16
WO2014141122A1 (en) 2014-09-18
JP6433925B2 (en) 2018-12-05
US9753911B2 (en) 2017-09-05
JP2016519347A (en) 2016-06-30
CA3096751A1 (en) 2014-09-18
KR101953710B1 (en) 2019-05-31
US20140282218A1 (en) 2014-09-18
US11657220B2 (en) 2023-05-23
IL241423A0 (en) 2015-11-30
EP2972731A4 (en) 2016-12-07
MX2015012748A (en) 2016-06-21
CA3096751C (en) 2023-10-17
US20180150447A2 (en) 2018-05-31
JP2019036358A (en) 2019-03-07
AU2020200349B2 (en) 2021-08-19
JP2016518639A (en) 2016-06-23
IL267674B (en) 2021-07-29
WO2014141130A2 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
ES2948388T3 (en) Building Websites Using Data Lists
US9087296B2 (en) Navigable semantic network that processes a specification to and uses a set of declaritive statements to produce a semantic network model
JP5588695B2 (en) Content sharing system
US20210081606A1 (en) Data model for page layouts
BR112015022812B1 (en) COMPUTERIZED SYSTEM AND METHOD FOR CONSTRUCTING A WEBSITE
Aloia et al. Automatic Gui Generation in Web Based Information Systems.
KR101695008B1 (en) Apparatus and Method for Visualizing Knowlegde Based on Tile
Ballard et al. Designing Home and Collection Pages
Jackson et al. Android UI Layouts: Graphics Design Using the ViewGroup Class
Ghoda et al. Creating User Interfaces