BR112019025644A2 - sistema de construção de site da web e método para um sistema de construção de site da web - Google Patents

sistema de construção de site da web e método para um sistema de construção de site da web Download PDF

Info

Publication number
BR112019025644A2
BR112019025644A2 BR112019025644-0A BR112019025644A BR112019025644A2 BR 112019025644 A2 BR112019025644 A2 BR 112019025644A2 BR 112019025644 A BR112019025644 A BR 112019025644A BR 112019025644 A2 BR112019025644 A2 BR 112019025644A2
Authority
BR
Brazil
Prior art keywords
component
behavior
components
elements
parameter
Prior art date
Application number
BR112019025644-0A
Other languages
English (en)
Inventor
Nadav ABRAHAMI
Barak IGAL
Roni BEN-AHARON
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.
Publication of BR112019025644A2 publication Critical patent/BR112019025644A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Um sistema de construção de site da web inclui pelo menos um banco de dados armazenamento de componentes de site da web e suas hierarquias de componente associadas, cada componente compreendendo elementos de comportamento com parâmetro anulável, elementos de comportamento com parâmetro não anulável e um manipulador de dados, o manipulador de dados manipulando protocolos de anulação para os componentes; e um manipulador de elemento para revisar todos os componentes a serem interpretados para uma visualização atual e para um componente atual, para manipular uma solicitação de componente entre o componente atual e pelo menos outro componente dentro da hierarquia de componente, a fim de implementar uma solicitação de anulação do pelo menos outro componente, o manipulador de elemento para atualizar o componente atual somente se a solicitação de anulação for relacionada a um elemento de comportamento com parâmetro anulável do componente atual, de acordo com o manipulador de dados do componente atual.

Description

SISTEMA DE CONSTRUÇÃO DE SITE DA WEB E MÉTODO PARA UM SISTEMA DE CONSTRUÇÃO DE SITE DA WEB REFERÊNCIA CRUZADA AOS PEDIDOS RELACIONADOS
[001] Este pedido reivindica prioridade e benefício dos pedidos de patente Norte-Americana provisória 62/516.682, depositado em 8 de junho de 2017, e 62/665.629, depositado em 2 de maio de 2018, ambos os quais são aqui incorporados por referência.
CAMPO DA INVENÇÃO
[002] A presente invenção se refere a sistemas de construção de site da web de modo geral e a contentores e componentes inteligentes em particular.
HISTÓRICO DA INVENÇÃO
[003] Sistemas de construção de site da web se tornaram muitos populares e permitem que construtores novatos de site da web construam sites da web com aparência e funcionamento profissional. Muitos destes sistemas proveem a usuários novatos e especialistas maneiras de construir sites da web do zero.
[004] Sites da web são tipicamente compostos de aplicativos projetados visualmente consistindo em páginas. As páginas podem ser exibidas separadamente e podem conter componentes. Um sistema de construção de site da web pode suportar disposições hierárquicas de componentes utilizando componentes atômicos (texto, imagem, forma, vídeo etc.) assim como diversos tipos de componentes contentores que contêm outros componentes (por exemplo, contentores regulares, contentores de única página, contentores de múltiplas páginas, contentores de galeria etc.). As subpáginas contidas dentro de um contentor de componente são mencionadas como minipáginas, e cada uma das quais pode conter múltiplos componentes. Alguns componentes contentores podem exibir somente uma das minipáginas de uma vez, enquanto outros podem exibir múltiplas minipáginas simultaneamente. Agora, é feita referência à Figura 1 que ilustra uma representação típica de um sistema de construção de site da web 1 compreendendo um site da web 2 tendo páginas da web 3 que podem ser compostas de componentes 4 adicionalmente constituídos de componentes atômicos 5 e componentes contentores
6. Um contentor de componente 6 pode ser adicionalmente compreendido de diversos contentores de única página 7 e contentores de múltiplas páginas 8, ainda contendo minipáginas
9. Outros tipos de componente podem incluir um composto de semântica 11, um repetidor de texto de dados 12 e um repetidor de imagem 13.
[005] Contentores repetidores (como repetidor de texto de dados 12 e repetidor de imagem 13) podem integrar fontes de informações e dados que não são relacionados ao processo de edição real e atributos visuais de componente. Estas fontes de dados poderiam ser listas de dados internos ou dados de fontes externas, como informações de negócios ou outras sobre o site da web, suas páginas e o proprietário do site da web (se disponível). Estes dados são combinados a informações de componente/leiaute para formar múltiplos exemplos de um componente de repetição dentro do contentor repetidor, que pode, possivelmente, ser atualizado automaticamente quando a fonte de dados de base mudar. Esses repetidores de conteúdo dinâmico também podem suportar anulação e outras operações.
[006] Os componentes podem ser sem conteúdo ou terem conteúdo interno. Um exemplo da primeira categoria é um componente em forma de estrela, que não tem qualquer conteúdo interno (embora tenha cor, tamanho, posição e alguns outros parâmetros). Um exemplo da segunda categoria é um componente de parágrafo de texto, cujo conteúdo interno inclui o texto interno, assim como informações de fonte, formatação e leiaute. Este conteúdo pode, de fato, variar de um exemplo do componente de parágrafo de texto para outro. Componentes que têm conteúdo são geralmente mencionados como campos (por exemplo, um “campo de texto”).
[007] Páginas da web existentes são tipicamente construídas de uma combinação de código HTML declarativo (provendo conteúdo e formatação), Folhas de Estilo em Cascata (CSS) provendo estilos adicionais e JavaScript de procedimento (JS) provendo fundamento procedimental para a página).
[008] O conteúdo da página da web pode residir em um único arquivo ou uma combinação de arquivos (por exemplo, arquivos HTML, CSS e JS). Uma disposição típica seria um arquivo HTML principal que inclui arquivos HTML, CSS e JS adicionais, com alguns dos arquivos comuns incluídos em múltiplas páginas (por exemplo, um conjunto comum de estilos ou bibliotecas JS utilizadas em múltiplas páginas).
[009] Esses arquivos incluídos podem se originar de múltiplas fontes. Alguns dos arquivos podem ser criados pelo autor da página da web, e alguns se originam de uma variedade de bibliotecas HTML, CSS ou JS predefinidas ou módulos de plug- in criados por múltiplos autores.
[010] Site de páginas da web pode ser definido estaticamente, ou seja, arquivos de forma final das páginas são armazenados em um servidor da web e acessados pelo usuário por um navegador (ou outro software agente de usuário). Essas páginas da web podem ser criadas manualmente ou por meio de um sistema (por exemplo, software de edição ou geração de página da web) que cria as páginas da web (estáticas) com base nas definições do usuário.
[011] Os sites de página da web também podem ser dinamicamente gerados, ou seja, construídos dinamicamente (ou semidinamicamente) quando são solicitados pelo usuário. Essa geração dinâmica pode ser feita por meio de geração completa de página. Toda a página é criada de sub-elementos predefinidos com uma definição separada de como esses elementos devem ser combinados. Um modelo de página existente pode ser utilizado com alguns espaços reservados preenchidos com dados de outras fontes.
[012] Um sistema de construção de site da web online pode ser utilizado para criar e implantar essas páginas dinâmicas. As definições de página podem ser criadas por um designer utilizando o sistema de construção de site da web, criando as definições de página utilizando uma variedade de elementos providos (como componentes, contentores, aplicativos de terceiros e segmentos de página) montados por meio de um ambiente de criação de página.
[013] O sistema de construção de site da web tipicamente salva as definições de página em um repositório. Essas definições de página são lidas pelo sistema de construção de site da web durante tempo de execução e convertidas em informações de página da web transferidas ao visualizador de site. Então, são representadas para a visualização atual, criando exemplos dos componentes.
[014] O sistema de construção de site da web pode incluir componentes do lado do cliente, como segmentos de aplicativo JS incorporados em páginas geradas e executados no código de lado de cliente ou servidor incluído dentro do aplicativo.
[015] A conversão da representação interna do sistema de construção de site da web da definição de página em código HTML/CSS/JS (executável pelo navegador) pode ser dividida de diversas maneiras entre os elementos do sistema de construção de site da web executando no servidor e no cliente. Em uma realização, todo o trabalho de conversão é feito em um sistema de construção de site do servidor da web, que provê páginas executáveis completas à máquina cliente do visualizador. “Executável”, neste contexto, significa páginas que podem ser diretamente processadas e representadas pelo cliente de navegador.
[016] Em outra realização, as definições internas de formato do sistema de construção de site da web são as providas ao cliente (possivelmente estendidas com informações adicionais), e o aplicativo de navegador residente de cliente realiza conversão e construção dinâmica de página para criar a página exibida pelo navegador.
[017] Ainda, em outra realização, o trabalho de conversão é dividido entre o servidor e o cliente, com cada um deles realizando parte da conversão.
[018] Esse aplicativo de lado de cliente pode realizar funções adicionais, como manipulação de galerias de imagem que permitem que operações (movimentação/reorganização de imagem etc.) sejam feitas no lado do cliente (envolvendo o servidor, por exemplo, somente para fazer interface com o banco de dados de base).
[019] O processamento e interpretação podem ser realizado no contexto de uma sessão entre o servidor e o cliente.
Essa sessão pode ser mantida pelo servidor, por exemplo, para suportar uma sessão de visualização de aplicativo.
[020] Um sistema de construção de site da web pode ser estendido utilizando aplicativos de terceiros e seus componentes assim como aplicativos de lista (conforme descrito adicionalmente na Publicação de Patente Norte-Americana No 2014/0282218 intitulado “DEVICE, SYSTEM, AND METHOD OF WEBSITE BUILDING BY UTILIZING DATA LISTS” publicada em 18 de setembro de 2014, aqui incorporada por referência e atribuída ao requerente comum da atual invenção).
[021] Esses aplicativos de terceiros e aplicativos de lista podem ser comprados (ou, de outra forma, adquiridos) por meio de diversos mecanismos de distribuição, como sendo pré-incluídos no ambiente de design de sistema de construção de site da web, de uma Loja de Aplicativos (integrada ao sistema de construção de site da web ou externa a ele) ou diretamente de fornecedores terceiros de aplicativos.
[022] Um sistema de construção de site da web é tipicamente ofertado por um fornecedor de sistema de construção de site da web. O sistema de construção de site da web é utilizado por usuários (também conhecidos como designers) que projetam os sites da web. Os sites da web são, então, utilizados por usuários de usuários (também conhecidos como usuários finais).
[023] Os aplicativos de terceiros podem ser hospedados nos servidores próprios do fornecedor de sistema de construção de site da web, o servidor de fornecedor terceiro de aplicativos ou em um infraestrutura de servidor de quarta parte.
[024] Sistemas existentes tipicamente permitem que seja realizada edição em nível de componente incluindo o nível de contentor. Assim, sistemas existentes tipicamente proveem operações, como adição de um componente (por exemplo, ao selecionar um componente de um menu de possíveis tipos de componente e utilizando arrasta e solta), exclusão de um componente, movimentação e redimensionamento de um componente, alteração de conteúdo de componente, alteração de atributos de componente (por exemplo, por meio de um quadro de atributos oscilante ou fixo aplicável ao componente sendo editado) e colocando componentes dentro de um contentor, ou remoção de componentes de dentro de um contentor.
[025] Sistemas existentes também podem permitir que componentes sejam agrupados (por exemplo, ao utilizar múltiplas seleções de componentes junto a uma operação de agrupamento/desagrupamento). O sistema pode, então, permitir que sejam realizadas operações em todos os componentes em um grupo, como mover, redimensionar, ou uma alteração de atributo (por exemplo, cor).
[026] A Publicação de Patente Norte-Americana No 2018/0032626 intitulada “SYSTEM AND METHOD FOR IMPLEMENTING CONTAINERS WHICH EXTRACT AND APPLY SEMANTIC PAGE KNOWLEDGE”, publicada em 1o de fevereiro de 2018, aqui incorporada por referência e atribuída ao requerente comum da atual invenção, discute como os contentores também podem ser compreendidos de conjuntos de componentes que podem formar um composto de semântica (como composto de semântica 11 na Figura 1) como um resultado de uma análise dos componentes de uma página da web conhecida como smart box. Uma smart box pode prover uma IU ou interface que permita que sejam aplicadas determinadas alterações a múltiplas smart boxes contidas (possivelmente em múltiplos níveis de contenção). O pedido discute combinação estrita de composto de semântica (aplicando alterações somente smart boxes de conformação de tipo) e combinação suave (aplicando somente alterações sempre que aplicável a uma determinada smart box). As alterações podem incluir alterações de estilo, a adição/remoção de componentes, alterações de leiaute, alterações de elemento decorativo etc. A Publicação de Patente Norte-Americana No 2018/0032626 também discute comportamentos de edição especializados para adaptar conjuntos de componente que têm uma funcionalidade e requisitos específicos. Esse contentor de smart box (definido com base em análise de página) também pode suportar a anulação e outras operações.
SUMÁRIO DA PRESENTE INVENÇÃO
[027] É provido, de acordo com uma realização preferida da presente invenção, um sistema de construção de site da web. O sistema inclui pelo menos um banco de dados que armazena componentes de site da web e suas hierarquias de componente associadas, cada componente incluindo elementos de comportamento com parâmetro anulável, elementos de comportamento com parâmetro não anulável e um manipulador de dados, o manipulador de dados manipulando protocolos de anulação para os componentes; e um manipulador de elemento para rever todos os componentes a serem interpretados para uma visualização atual e para um componente atual, para manipular uma solicitação de componente entre o componente atual e pelo menos outro componente dentro da hierarquia de componente, a fim de implementar uma solicitação de anulação do pelo menos outro componente, o manipulador de elemento para atualizar o componente atual somente se a solicitação de anulação é relacionado a elemento de comportamento com parâmetro anulável do componente atual de acordo com o manipulador de dados do componente atual.
[028] Ademais, de acordo com uma realização preferida da presente invenção, o sistema também inclui um servidor de tempo de execução para ativar o manipulador de elemento para o componente atual para a visualização atual.
[029] Ainda, de acordo com uma realização preferida da presente invenção, o sistema também inclui editor de WBS (sistema de construção de site da web) com conhecimento de elementos de comportamento com parâmetro para permitir que um usuário selecione um componente e aplique uma alteração de edição ao componente selecionado.
[030] Ainda adicionalmente, de acordo com uma realização preferida da presente invenção, o componente atual é pelo menos um dentre composto predefinido, repetidor ou de semântica.
[031] Adicionalmente, de acordo com uma realização preferida da presente invenção, o sistema inclui um analisador de página para determinar a hierarquia de componente para o componente atual e para determinar se o componente atual é um composto de semântica.
[032] Ademais, de acordo com uma realização preferida da presente invenção, o manipulador de elemento inclui um receptor de solicitação para receber o componente atual e a solicitação de anulação de pelo menos um dentre: o editor de WBS como um resultado da alteração de edição e do servidor de tempo de execução como um resultado de uma alteração ao componente atual devido a uma fonte externa; um solucionador de componente para receber do manipulador de dados do componente atual quais elementos de comportamento com parâmetro do componente atual são anuláveis, para aplicar alterações de solicitação de anulação de acordo e para solucionar conflitos de anulação entre o componente atual e o pelo menos outro componente dentro da hierarquia; e um negociador para permitir a comunicação entre pelo menos um elemento de comportamento com parâmetro do componente atual e o pelo menos outro componente, de acordo com o solucionador de componente e um protocolo com base em regras de anulação predefinidas para o pelo menos outro componente.
[033] Ainda, de acordo com uma realização preferida da presente invenção, o manipulador de elemento inclui um aprendiz de inteligência artificial/máquina para realizar análise de aprendizado de inteligência artificial e máquina com base na atividade do usuário e análise de outros sites da web e páginas para recomendar anulações de modificação para os componentes de site da web com base na análise.
[034] Ainda adicionalmente, de acordo com uma realização preferida da presente invenção, o editor de WBS inclui um editor de componente para permitir que um usuário crie e defina regras de anulação para elementos de comportamento com parâmetro de um componente de site da web; um seletor de componente para permitir que um usuário selecione um componente; e um aplicador de comportamento de edição para aplicar a solicitação de edição ao componente selecionado.
[035] Adicionalmente, de acordo com uma realização preferida da presente invenção, a solicitação de edição inclui pelo menos um dentre: seleção, arraste, soltar, redimensionamento, cópia, pregresso e modificação de atributo.
[036] Ademais, de acordo com uma realização preferida da presente invenção, os elementos de comportamento com parâmetro representam pelo menos um dentre estilo, corpo e lógica do componente atual.
[037] Ainda, de acordo com uma realização preferida da presente invenção, a solicitação de anulação é a um parâmetro anulável de um elemento de comportamento com parâmetro.
[038] Ainda adicionalmente, de acordo com uma realização preferida da presente invenção, os componentes de site da web também incluem pelo menos um dentre: um acionamento de comportamento de editor para afetar o processo de representação e edição de um componente pelo editor de WBS; um acionador de comportamento de tempo de execução para afetar como um componente é manipulado pelo servidor de tempo de execução no tempo de execução; e uma função de interpretação de componente para prover instruções de interpretação para o componente atual para o editor de WBS e o servidor de tempo de execução.
[039] É provido, de acordo com uma realização preferida da presente invenção, um método para um sistema de construção de site da web, o método compreendendo armazenamento de componentes de site da web e suas hierarquias de componente associadas, cada componente compreendendo elementos de comportamento com parâmetro anulável, elementos de comportamento com parâmetro não anulável, e um manipulador de dados, o manipulador de dados manipulando protocolos de anulação para os componentes; e revisão de todos os componentes a serem interpretados para uma visualização atual e para um componente atual, manipulação de uma solicitação de componente entre o componente atual e pelo menos outro componente dentro da hierarquia de componente, a fim de implementar uma solicitação de anulação do pelo menos outro componente e atualização do componente atual somente se a solicitação de anulação for relacionada a um elemento de comportamento com parâmetro anulável do componente atual, de acordo com o manipulador de dados do componente atual.
[040] Ademais, de acordo com uma realização preferida da presente invenção, o método também inclui ativação no tempo de execução da revisão, da manipulação e da atualização para o componente atual para a visualização atual.
[041] Ainda, de acordo com uma realização preferida da presente invenção, o método inclui permissão de que um usuário selecione um componente e aplique uma alteração de edição ao componente selecionado durante uma sessão de edição.
[042] Ainda adicionalmente, de acordo com uma realização preferida da presente invenção, o componente atual é pelo menos um dentre composto predefinido, repetidor ou de semântica.
[043] Adicionalmente, de acordo com uma realização preferida da presente invenção, o método também inclui a determinação da hierarquia de componente para o componente atual e determinação se o componente atual é um composto de semântica.
[044] Ademais, de acordo com uma realização preferida da presente invenção, a revisão, a manipulação e a atualização inclui a recepção do componente atual e da solicitação de anulação de pelo menos um dentre: a permissão de que um usuário, como resulta da alteração de edição, e a ativação no tempo de execução como um resultado de uma alteração ao componente atual devido a uma alteração de uma fonte externa;
recepção, do manipulador de dados do componente atual de quais elementos de comportamento com parâmetro do componente atual são anuláveis, aplicação de alterações de solicitação de anulação de acordo e resolução de conflitos de anulação entre o componente atual e o pelo menos outro componente dentro da hierarquia; e permissão da comunicação entre pelo menos um elemento de comportamento com parâmetro do componente atual e o pelo menos outro componente de acordo com a recepção, aplicação e a resolução e um protocolo com base em regras de anulação predefinidas para o pelo menos outro componente.
[045] Ainda, de acordo com uma realização preferida da presente invenção, a revisão, a manipulação e a atualização também inclui a realização de análise de aprendizado de inteligência artificial e máquina com base em atividade de usuário e análise de outros sites da web e páginas e recomendando anulações de modificação para os componentes de site da web com base na análise.
[046] Ainda adicionalmente, de acordo com uma realização preferida da presente invenção, a permissão de que um usuário selecione um componente e aplique uma alteração de edição inclui a permissão de um usuário a criar e definir regras de anulação para elementos de comportamento com parâmetro de um componente de site da web; permissão de um usuário a selecionar um componente; e aplicação da solicitação de edição ao componente selecionado.
[047] Adicionalmente, de acordo com uma realização preferida da presente invenção, a solicitação de edição inclui pelo menos um dentre: seleção, arraste, solte, redimensionamento, cópia, pregresso e modificação de atributo.
[048] Ademais, de acordo com uma realização preferida da presente invenção, os elementos de comportamento com parâmetro representam pelo menos um dentre estilo, corpo e lógica do componente atual.
[049] Ainda, de acordo com uma realização preferida da presente invenção, a solicitação de anulação é para um parâmetro anulável de um elemento de comportamento com parâmetro.
BREVE DESCRIÇÃO DOS DESENHOS
[050] O assunto considerado a invenção é particularmente ressaltado e reivindicado de maneira distinta na parte de conclusão da especificação. Entretanto, a invenção, tanto em relação à organização quanto ao método de operação, junto aos objetivos, aspectos e vantagens destes, pode ser melhor entendida com referência à descrição detalhada a seguir quando lida com os desenhos anexos, nos quais:
[051] A Figura 1 é uma ilustração esquemática de uma representação típica de um sistema de construção de site da web e páginas criadas utilizando o sistema de construção de site da web;
[052] A Figura 2 é uma ilustração esquemática da aplicação de elementos de comportamento com parâmetro nos compostos de semântica, construídos e operacionais de acordo com a presente invenção;
[053] A Figura 3 é uma ilustração esquemática de um componente estendido, construído e operacional de acordo com a presente invenção;
[054] A Figura 4 é uma ilustração esquemática da relação entre dois componentes utilizando elementos de comportamento com parâmetro, construídos e operacionais de acordo com a presente invenção;
[055] A Figura 5 é uma ilustração esquemática de um sistema para a interação inteligente entre componentes e contentores de site da web, construído e operacional de acordo com a presente invenção;
[056] A Figura 6 é uma ilustração esquemática dos elementos do manipulador de elemento estendido da Figura 5, construído e operacional de acordo com a presente invenção;
[057] A Figura 7 é uma ilustração esquemática dos elementos do sistema de gestão de conteúdo da Figura 5, construído e operacional de acordo com a presente invenção;
[058] A Figura 8 é uma ilustração esquemática dos elementos do editor de WBS da Figura 5, construído e operacional de acordo com a presente invenção;
[059] A Figura 9 é uma ilustração esquemática de um fluxo exemplar de anulações dentro de uma hierarquia de componentes, construído e operacional de acordo com a presente invenção;
[060] A Figura 10 é uma ilustração esquemática de uma configuração para uma linha de alinhamento vertical em um contentor de VBox smart, construído e operacional de acordo com a presente invenção; e
[061] A Figura 11 é uma ilustração esquemática de um contentor de componente especial que administra a movimentação, redimensionamento e manipulações adicionais para os componentes contidos, construído e operacional de acordo com a presente invenção.
[062] Será percebido que para simplicidade e clareza de ilustração, os elementos apresentados nas figuras não foram necessariamente desenhados em escala. Por exemplo, as dimensões de alguns dos elementos podem ser exageradas em relação a outros elementos para clareza. Ainda, quando considerado adequado, números de referência podem ser repetidos dentre as figuras para indicar elementos correspondentes ou análogos.
[063] DESCRIÇÃO DETALHADA DA PRESENTE INVENÇÃO
[064] Na descrição detalhada a seguir, diversos detalhes específicos são estabelecidos, a fim de prover um entendimento completo da invenção. Entretanto, será entendido pelos técnico no assunto que a presente invenção pode ser praticada sem esses detalhes específicos. Em outros casos, métodos, procedimentos e componentes bem conhecidos não foram descritos em detalhes, de modo a não confundir a presente invenção.
[065] Os requerentes perceberam que os sistemas da técnica anterior não permitem comportamento complexos e interações complexas de componente, geralmente necessárias para manter a aparência e percepção de um site da web que pode precisar constantemente de atualização com base em fatores internos (ou seja, designer de site da web ou explicitamente projetados) e fatores externos. Estas atualizações (que podem ser específicas no nível de componente) geralmente precisam de um conhecimento profundo do uso do sistema de construção de site da web em si, a fim de defini-las e implementá-las de maneira eficiente e fácil. Além disso, componentes de site da web (incluindo componentes de aplicativo de terceiros externos) podem ter comportamentos aplicados a eles, que podem afetar outros componentes dentro da mesma disposição hierárquica por múltiplos níveis hierárquicos dentro do ambiente do sistema de construção de site da web.
[066] Será percebido que um sistema de construção de site da web típico pode ter três tipos de usuários: os provedores de componente em si, que seriam parte da equipe do fornecedor de sistema de construção de site da web ou provedores de componentes separados (por exemplo, por uma loja de componentes ou uma Loja de Aplicativos de terceiros), os designers do site da web em si que utilizam os componentes para construírem seu site e os visualizadores ou usuários finais que usam o site finalizado. Também será percebido que pode haver alguma mistura entre as classes. Em particular, o sistema de construção de site da web pode permitir que designers (ou alguns deles) editem componentes existentes ou, até, adicionem seus próprios novos componentes, por exemplo, habilitando coleções de componente definidas pelo designer do site e sejam salvas como um componente e estejam disponíveis a outros designers de site semelhantes aos descritos na Publicação de Patente Norte- Americana No 2018/0032626 e Publicação de Patente Norte- Americana No 2017/0046317 intitulada “METHOD AND SYSTEM FOR SECTION-BASED EDITING OF A WEB PAGE SITE”, publicada em 16 de fevereiro de 2017, aqui incorporada por referência e atribuída ao requerente comum da atual invenção.
[067] Os requerentes perceberam que a experiência de construção de site da web pode ser melhorada por um sistema que manipula componentes de site da web tendo elementos de comportamento com parâmetro dentro, o que pode definir (por exemplo) o comportamento operacional e/ou visual de um componente. Os componentes podem recorrer a uma forma de comunicação com outros componentes utilizando seus elementos de comportamento com parâmetro e podem ser capazes de enviar e receber parâmetros conforme descrito em mais detalhes aqui embaixo. Por exemplo, o componente A pode notificar o componente
B para substituir o elemento de comportamento com parâmetro X do componente B pelo elemento de comportamento com parâmetro Y. Será percebido que um determinado elemento de comportamento com parâmetro pode ser predefinido como sendo anulável ou não no contexto de um determinado tipo de componente ou exemplo de componente (e não em outros). Assim, devido à natureza hierárquica (por exemplo) de uma página da web (conforme apresentado na Figura 1), alterações operacionais feitas a um único componente atual também podem afetar outros componentes em todos os níveis de contenção (e, possivelmente, não na mesma sub-hierarquia do componente subjacente) e vice-versa. Por exemplo, contentores podem interagir com os componentes contidos dentro deles em múltiplos níveis, com base em um protocolo de regras predefinidas que permitem que tanto o contentor quanto os componentes contidos determinem quais atributos dos componentes contidos podem ser afetados (pelo contentor) e de quais maneiras. A lógica para o protocolo pode incluir regras para a anulação “negociável” para elementos de comportamento com parâmetro junto a uma conscientização de relações de componente com outros componentes/contentores, como geometria, semântica, conteúdo, histórico de edição etc. Um componente contido também pode afetar seu contentor da mesma maneira. Será percebido que a anulação pode implicar em alteração do atributo ou parâmetro de um elemento de comportamento com parâmetro ou pode implicar em uma substituição completa de um ou mais elementos de comportamento com parâmetro, conforme descrito em mais detalhes aqui abaixo.
[068] O requerente ainda percebeu que os princípios mencionados acima podem ser expandidos para suportar contentores que podem prover modificação com base em
Inteligência Artificial (AI) e Aprendizado por Máquina (ML) para uma disposição de leiaute de componentes contidos. Essa modificação pode incluir leiaute somente (por exemplo, selecionando posição e tamanho), conjuntos de atributo limitados (por exemplo, um contentor pode prover imagens/vídeo de base específicos aos subcontentores dentro dele, ou somente afeta seleção de cor etc.), comportamento ou qualquer comportamento de componente contido específico, como adição, remoção, reorganização de componentes contidos etc. Em algumas realizações, isso pode se aplicar a componentes não contentores também.
[069] O requerente também percebeu que o uso dos elementos de comportamento com parâmetro mencionados acima também podem melhorar a maneira na qual a formatação da página da web é definida pelos métodos da técnica anterior, como Folhas de Estilo em Cascata (CSS). Sistemas com base em CSS existentes coletam regras de múltiplas folhas de estilo (conforme providas pelo navegador, pelo usuário e pelo site em si) e combina essas regras aos elementos no site, com isso, afetando o estilo ou comportamento do elemento. A combinação tem base nos seletores providos com cada regra, que têm base tipicamente em tipo de elemento HTML (por exemplo, DIV), classe, ID ou uma combinação destes. Os sistemas da técnica anterior também podem ter componentes com comportamento padrão e a opção de anulá-los, mas não ao utilizar elementos de comportamento com parâmetro. Elementos podem ter estilos ou comportamentos implícitos (padrão). Por exemplo, um DIV é implicitamente uma caixa que se estende a 100% de espaço disponível de seu elemento mãe.
[070] O requerente ainda percebeu que o uso de elementos de comportamento com parâmetro permite a implementação de um estilo por uma página da web com a funcionalidade adicional da capacidade de especificar quem pode afetá-los ou não (por exemplo “somente uma galeria pode modificar meu tamanho”). Em particular, essa especificação pode ter base em uma análise de componente envolvendo (por exemplo) conteúdo de componente, geometria, tipos, tipos de semântica, histórico de edição, informações de negócios (BI) e relações intercomponentes. Essa análise pode prover informações adicionais de classificação e associação de componente (que não foram providas explicitamente pelo designer), e essas informações podem ser utilizadas para determinar a aplicabilidade de estilos (ou outros atributos) aos componentes analisados. Por exemplo, “aplicar chanfros vermelhos a todos os pares detectados de retrato e legenda dentro do contentor”, em que os pares de legenda e imagem são detectados (ao invés de serem predefinidos) por uma análise de componente, conforme descrito na Publicação de patente Norte- Americana No 2018/0032626.
[071] Agora, é feita referência à Figura 2 que ilustra essa detecção e classificação. A Fileira 1 apresenta 6 objetos não relacionados, 3 faces sorridentes e 3 legendas. A fileira 2 apresenta como o sistema pode reconhecer pares de face sorridente e legenda (como um composto de semântica) e pode aplicar uma moldura ao redor de cada par de face/legenda de acordo com uma instrução. A Fileira 3 apresenta que mesmo se o usuário movimentar a legenda do “par” mais à direita, a distância entre eles ainda está dentro da definição de um par de face/legenda e, portanto, a moldura ainda se aplica. Agora, é feita referência à fileira 4 que apresenta como é quando a legenda é movimentada fora dos requisitos da definição de composto de semântica (e, agora, não é mais reconhecido como um composto de semântica de par de face/legenda), não há mais uma moldura ao redor desse par. Na fileira 5, a imagem mais à direita mudou e o sistema não reconhece como sendo uma face sorridente e, portanto, não aplica moldura. Será percebido que essa funcionalidade não é aplicável a CSS regular, uma vez que não pode identificar pares de imagem de face e uma legenda.
[072] O requerente também percebeu que esse uso permite que componentes constantes afetem múltiplos níveis (componentes constantes localizado dentro dos contentores de componente etc.) e, como resultado, as modificações de componente aplicadas podem ser “profundas”. Por exemplo, “fazer com que todos os reprodutores de vídeo contidos apareçam sem um botão de retorno em todos os níveis de contenção” ou “aplicar um plano de fundo de vídeo com vídeo X em todos os sub- contentores contidos” etc.
[073] Será percebido que os componentes de site da web, em geral, são altamente configuráveis e podem ter seus atributos e operações afetados de fontes internas e externas (como componentes que estão fora da hierarquia de site regular e podem não ser visíveis no site) para o sistema de construção de site da web ao qual são associados. Por exemplo, serviços que adaptam componentes de site específicos à hora do dia e época do ano. Uma lista de componentes contidos (em um determinado contentor de página) pode ser predefinida ou determinada dinamicamente e pode ser utilizada em múltiplos cenários diferentes, como um cenário de sistema de construção de site da web no qual os componentes são pré-especificados com atributos acessíveis ou em um cenário sem sistema de construção de site da web, no qual a análise é realizada em um determinado site da página da web para determinar a divisão da página em componentes e contentores e seus atributos.
[074] Será percebido que uma definição de componente de site da web tipicamente inclui três principais sub-entidades: os elementos de estilo, corpo e lógica (e elementos adicionais, conforme discutido em mais detalhes aqui abaixo). O estilo de um componente pode ser definido utilizando qualquer linguagem de definição de estilo ou uma versão estendida desta. O corpo de um componente pode ser definido utilizando qualquer linguagem de definição de conteúdo padrão (como HTML, XML ou JSON), ou utilizando uma linguagem privada ou não padrão (como JSX).
[075] A lógica de um componente pode ser definida utilizando qualquer linguagem procedimental, como JavaScript, TypeScript ou qualquer linguagem de programação regular que permite o uso de elementos de código naturais nos sites da web. Alternativamente, pode ser definida por meio de um navegador especializado, complementos de navegador ou aplicativo móvel se o sistema de construção de site da web pertinente no tempo de execução for implementado utilizando um cliente natural. Isso contém a lógica de negócio/operacional dos componentes. A linguagem de definição de lógica também pode incluir diversas extensões de linguagem para a linguagem de base (por exemplo, uma linguagem E-JS que estende a linguagem JavaScript regular).
[076] Será percebido que estes elementos (que são parte da definição de componente) podem ser mencionados (juntamente) como os elementos SBL (Estilo/Corpo/Lógica) do componente. Essas definições de componente podem ser construídas fora do sistema utilizando ferramentas regulares disponíveis aos desenvolvedores (como editores). Alternativamente, o sistema pode prover um ambiente de edição de componente (que pode ser ou não integrado ao editor). Esse ambiente de edição de componente pode somente estar disponível à equipe do fornecedor de sistema de construção de site da web. Alternativamente, o ambiente de edição de componente pode se tornar disponível aos desenvolvedores de componentes externos ou aos designers do site (permitindo que eles definam seus próprios componentes).
[077] A definição de componente também pode incluir informações adicionais, como múltiplas configurações e variantes a serem utilizadas sob diferentes condições e um acionado de edição e informações relacionadas à edição adicionais (como dicas dinâmicas de leiaute) que podem ser utilizadas pelo editor de sistema para dar suporte à edição dos casos do componente específico dentro da página da web. As informações adicionais também podem incluir uma função de interpretação de componente para uso durante a pré-visualização de edição e tempo de execução para uma visualização atual, conforme descrito em mais detalhes aqui abaixo.
[078] Será percebido que sites de página da web podem ser construídos utilizando uma hierarquia de exemplos de componente que podem incluir informações adicionais além da referência de definição de componente (como o conteúdo, posição hierárquica, posição na tela, tamanho, diversos leiautes, metadados do componente e outros atributos).
[079] Agora, é feita referência à Figura 3 que ilustra uma definição de componente estendido 10 exemplar, de acordo com uma realização da presente invenção. Será percebido que componente estendido 10 pode permitir a interação inteligente entre componentes relacionados ao comunicar alterações de estilo, comportamento e operacionais por meio de seus elementos de comportamento com parâmetro incluídos. Componente estendido 10 pode ter uma estrutura estendida ou adicional além da de um componente de site da web regular da técnica anterior. Será percebido que a definição de um componente estendido pode incluir elementos de estilo, corpo e lógica, conforme descrito aqui acima, mas também incluem elementos de comportamento com parâmetro que podem ou não permitir anulações de acordo com regras predefinidas e resolução de protocolo, conforme descrito em mais detalhes aqui abaixo.
[080] Componente estendido 10 também pode compreender um acionamento de comportamento de editor 15A, um acionador de comportamento de tempo de execução 15B, uma função de interpretação de componente 15C, um manipulador de dados de anulação 16, metadados 17 e uma área fixa 18.
[081] Acionamento de comportamento de editor 15A pode afetar a maneira na qual o componente e seus componentes contidos são manipulados pelo editor em uso (como provendo dicas dinâmicas de leiaute).
[082] O acionador de comportamento de tempo de execução 15B pode afetar a maneira na qual o componente e seus componentes contidos são manipulados durante o tempo de execução. A função de interpretação de componente 15C pode prover instruções de interpretação durante a pré-visualização e tempo de execução de edição. Por exemplo, componentes inseridos podem utilizar um interpretados de resposta rápida de modo a prover feedback útil ao usuário do sistema de construção de site da web.
[083] A função de interpretação de componente 15C pode ser tipicamente coordenada com o processo principal de interpretação do sistema de construção de site da web e pode afetar (dependendo da implementação de sistema de construção de site da web) qualquer parte do processo de exibição de sistema de construção de site da web. Por exemplo, para sistemas de construção de site da web que exibem a página por um navegador, a função de interpretação de componente 15C pode afetar a conversão das páginas armazenadas em HTML/CSS/JS e a interpretação do HTML/CSS/JS gerado no navegador.
[084] Manipulador de dados de anulação 16 pode comunicar informações referentes às regras predefinidas mencionadas acima e resolução de protocolo para o componente, ou seja, quais são as condições de anulação. Metadados 17 também podem incluir metadados de componente (como informações de criador e ID de referência interno). Área fixa 18 contém elementos do componente que não podem ser anulados, como a área no componente na qual o conteúdo será armazenado em cada exemplo de componente.
[085] Será percebido que um elemento de comportamento com parâmetro pode ser comparado a um parâmetro de função em uma linguagem de programação regular. Assim, um único componente estendido 10 pode conter múltiplos elementos de comportamento com parâmetro, cada um tendo diferentes tipos e cada um afetando (quando autorizado a fazer isso) diferentes partes de componente estendido 10. Por exemplo, um tipo de elemento de comportamento com parâmetro de estilo pode manipular estilo, um tipo de elemento de comportamento com parâmetro de leiaute pode manipular leiaute etc. Também será percebido que um elemento de comportamento com parâmetro pode não se conformar necessariamente a uma classificação SBL padrão e pode também anular múltiplos elementos SBL assim como outros elementos.
[086] Será percebido que a título de discussão abaixo, referências a componentes de site da web se referem a componente estendidos 10, conforme descrito aqui acima.
[087] Um elemento de comportamento com parâmetro de leiaute pode definir a maneira na qual os (sub) componentes internos do componente são dispostos, por exemplo, uma galeria deslizante vs. uma galeria em rede vs. Vbox. Um elemento de comportamento com parâmetro de estilo pode definir os parâmetros visuais utilizados pelo componente ou seus sub-elementos.
[088] Assim, por exemplo, um designer de página pode incorporar um componente de galeria em rede desejado, mas anular seu comportamento interno para dispor o conteúdo da galeria utilizando uma disposição deslizante (ao prover um elemento de comportamento com parâmetro de leiaute deslizante como parte da galeria com base em rede).
[089] Também será percebido que alguns tipos de elemento de comportamento com parâmetro (como um elemento de comportamento com parâmetro de leiaute) também podem funcionar como componentes autônomos, ou seja, sem serem aplicados a outro componente. Assim, um elemento de comportamento com parâmetro de leiaute em rede pode funcionar (sozinho) como um componente de rede simples.
[090] Um componente também pode suportar a inclusão de múltiplos elementos de comportamento com parâmetro que, junto à definição de componente, formam um componente completo. Por exemplo, um componente de botão pode suportar a inclusão de um elemento de comportamento com parâmetro de fundo e um elemento de comportamento com parâmetro de leiaute. O componente de botão sozinho pode prover a estrutura de trabalho básica para o botão (como uma provisão de um objeto exibido que tem configurações “pressionado” e “não pressionado” e desencadeador de evento “fui pressionado” associado). Os dois elementos de comportamento com parâmetro incluídos podem prover um plano de fundo para o botão e um leiaute de exibição para elementos escritos no botão.
[091] Estes dois elementos de comportamento com parâmetro poderiam ser, por exemplo, um elemento de comportamento com parâmetro de fundo de vídeo (que exibe um fundo de vídeo para o botão), e um elemento de comportamento com parâmetro de leiaute de tipo Hbox (caixa horizontal) (que exibe os elementos de superfície de botão como um rótulo e um ícone pequeno, próximos um ao outro horizontalmente).
[092] Será percebido (para o exemplo acima) que os elementos de comportamento com parâmetro não são específicos ao componente de botão. O mesmo elemento de comportamento com parâmetro de fundo de vídeo e elemento de comportamento com parâmetro de leiaute de tipo Hbox podem ser utilizados com outros tipos de componente (como formas ou contentores), separada ou juntamente. Além disso, invocações de elemento de comportamento com parâmetro podem ser parte do exemplo de componente (e não sua definição), de modo que um botão possa utilizar (por exemplo) um elemento de comportamento com parâmetro de fundo de vídeo e outro botão pode utilizar um elemento de comportamento com parâmetro de fundo de imagem.
[093] Também será percebido que os elementos de comportamento com parâmetro utilizado no componente podem utilizar as propriedades e parâmetros próprios do componente e também podem utilizar propriedades e parâmetros específicos providos para uma invocação específica do elemento de comportamento com parâmetro como parte da definição de exemplo de componente hospedeiro ou mãe. Um componente também pode utilizar múltiplos elementos de comportamento com parâmetro do mesmo tipo para diferentes partes do componente. Por exemplo, um componente de duas colunas pode utilizar um elemento de comportamento com parâmetro de leiaute (como Vbox) para a 1a coluna, e um segundo elemento de comportamento com parâmetro de leiaute (como Hbox) para a 2a coluna.
[094] Será percebido que um exemplo de componente mãe que inclui o exemplo de componente inferior pode modificar o exemplo de componente inferior por meio da aplicação de elementos de comportamento com parâmetro, conforme descrito em mais detalhes aqui abaixo (e vice-versa). Um único componente pode ser modificado por múltiplos tipos de elemento de comportamento com parâmetro afetando diversos elementos da exibição e funcionalidade de componente. Esses tipos de elemento de comportamento com parâmetro podem afetar quaisquer das sub- entidade de SBL do componente, ou seja, seu estilo, corpo e lógica. Diferentes elementos de comportamento com parâmetro tipicamente (mas nem sempre) afetam diferentes aspectos do componente e, assim, a ordem na qual os múltiplos elementos de comportamento com parâmetro são “aplicados” ao componente pode ser ou não relevante, de acordo com a situação. Um único elemento de comportamento com parâmetro pode afetar múltiplas sub- entidades SBL do componente, por exemplo, afetar o estilo e corpo do componente. A aplicação do elemento de comportamento com parâmetro real pode ser realizado durante o processo de interpretação. O sistema implementando o elemento de comportamento com parâmetro pode realizar pré-processamento, enquanto recorre à publicação de componente ou de página (para salvar o processamento em andamento).
[095] Conforme discutido aqui acima, um tipo de elemento de comportamento com parâmetro é leiaute, que controla o leiaute (posição e possivelmente tamanho) utilizado para os sub-elementos do componente, como o elemento de comportamento com parâmetro de leiaute de Hbox (caixa horizontal) mencionado acima, que exibe os elementos internos junto a uma linha horizontal.
[096] Outro exemplo é a aplicação de um elemento de comportamento com parâmetro de leiaute de galeria de matriz a um componente de galeria genérico. O componente de galeria de matriz criado exibiria seus elementos internos em uma matriz de fileiras e colunas, possivelmente com deslocamento deslizante para apresentar mais elementos que os tamanhos de matriz permitem.
[097] Ainda, outro exemplo seria um elemento de comportamento com parâmetro de leiaute móvel por usuário, o que colocaria os elementos internos em uma determinada ordem de posição inicial, mas permite que o usuário final do aplicativo movimente os elementos ao redor dentro do contentor durante tempo de execução (conforme especificado pelo manipulador de comportamento de tempo de execução de contentor 15B).
[098] Conforme discutido aqui acima, outro tipo de elemento de comportamento com parâmetro é estilo, que controla os elementos da apresentação visual do componente (como a cor, margem etc. do componente).
[099] Um tipo de elemento de comportamento com parâmetro de estilo pode, por exemplo, ser utilizado para substituição de plano de fundo. Um componente reprodutor de vídeo sofisticado pode incluir múltiplos botões e áreas de controle personalizáveis. Um tipo de elemento de comportamento com parâmetro de estilo pode, então, ser utilizado para substituir cores e padrões de fundo de botões e área de controle, a fim de criar uma versão personalizada dos componentes de reprodutor de vídeo.
[100] Um tipo de elemento de comportamento com parâmetro de estilo também pode afetar outros parâmetros (que não leiaute) dos componentes contidos. Isso pode ser diferente de um elemento de comportamento com parâmetro que afeta a apresentação do componente em si (ao invés de seus componentes contidos).
[101] Conforme discutido aqui acima, uma definição de componente pode consistir em múltiplos sub- elementos (representando estilo, corpo e lógica e elementos adicionais). Como parte da definição de exemplo de componente dentro de um aplicativo, alguns destes elementos podem ser anulados por elementos de comportamento com parâmetro (sujeito à negociação de regra adequada). Estes elementos de comportamento com parâmetro de substituição podem, sozinhos, ter parâmetros que governam seu comportamento ou funcionalidade. Esses parâmetros podem ser necessários (ou seja, o elemento de comportamento com parâmetro não funcionará se eles não forem providos) ou, de maneira alternativa, o elemento de comportamento com parâmetro pode prover padrões para seus valores.
[102] Por exemplo, um componente de botão pode permitir que a especificação de um elemento de comportamento com parâmetro de estilo controlando a forma do botão. Um elemento de comportamento com parâmetro de estilo específico pode prover uma forma semelhante à elipse, e pode receber parâmetros que especificam os diâmetros vertical e horizontal da elipse. O exemplo de botão pode recorrer a esse elemento de comportamento com parâmetro de elipse e pode prover os valores de parâmetro específicos (como 100 pixels para o diâmetro vertical e 200 pixels para o diâmetro horizontal).
[103] Agora, é feita referência à Figura 4 que ilustra a relação entre dois componentes dentro de um aplicativo. Como pode ser visto, o exemplo de comp 2 dentro do aplicativo requer elementos de comportamento com parâmetro para sua definição de componente de outros componentes (neste cenário, comp 1), assim como parâmetros específicos para estes elementos de comportamento com parâmetro. Por sua vez, estes elementos de comportamento com parâmetro e parâmetros podem afetar o estilo, corpo, lógica e outros elementos do componente.
[104] Conforme é ilustrado na Figura 4, um único componente pode aceitar múltiplos parâmetros de comportamento com parâmetro de outros componentes. Isso pode ser por meio de um elemento de negociação (conforme descrito em mais detalhes aqui abaixo). Esses múltiplos elementos de comportamento com parâmetro podem ter efeitos diferentes ou cumulativos. Por exemplo, um componente de galeria pode permitir o uso de dois elementos de comportamento com parâmetro de estilo: um para afetar a área de fundo de estrutura de galeria e um para afetar os subcomponentes geridos pela galeria.
[105] Será percebido que um componente também pode aceitar de outro componente, outros parâmetros complexos ou compostos (elementos de comportamento sem parâmetro), por exemplo, parâmetros com base em tipos agregados (como listas, estruturas e uniões).
[106] Também será percebido que, nas realizações que utilizam linguagens semelhantes à web (ou seja, E- HTML/CSS/JS) para definir páginas ou componentes, um elemento de comportamento com parâmetro também pode ser especificado para um componente utilizando um parâmetro/atributo de invocação (conforme descrito em mais detalhes aqui abaixo), ou por meio de uma folha de estilo com uma regra adicionada para o tipo específico de elementos de comportamento com parâmetro, por exemplo: <panel layout=“{Carousel}”> … </panel> // Especificar o leiaute por meio de // um parâmetro de invocação Ou: .xyz { --layout: Carousel; } <panel class=“xyz”> … </panel> // Especificar o leiaute por meio de uma classe de CSS
[107] Será percebido que um tipo de elemento de comportamento com parâmetro (como um elemento de comportamento com parâmetro de leiaute), em geral, tem funcionalidade limitada/específica. Pode somente manipular o leiaute físico de componentes contidos em uma galeria (por exemplo, provendo uma disposição em carrossel de matriz/deslizante) e, assim, tipicamente não incluiria a especificação completa de SBL. Entretanto, um elemento de comportamento com parâmetro pode incluir atributos específicos adicionais. Por exemplo, um tipo de elemento de comportamento com parâmetro de leiaute de matriz específico também pode incluir alguns atributos visuais (por exemplo, aplicar um fundo amarelo a alguns subcomponentes do componente de hospedagem). Entretanto, a definição típica de um tipo de elemento de comportamento com parâmetro de leiaute foca na disposição de subcomponente e tipicamente não incluiria atributos e propriedades adicionais.
[108] Também será percebido que elementos de comportamento com parâmetro são tipicamente criados por meio de unidade de edição de componente do sistema de construção de site da web (conforme descrito em mais detalhes aqui abaixo) ou possivelmente por um elemento de comportamento dedicado com editor específico por parâmetro.
[109] Assim, um componente estendido pode compreender elementos de comportamento com parâmetro incluindo informações sobre leiaute, configurações, acionamento de editor, processos de interpretação e comportamento de tempo de execução do componente além de seu estilo, corpo e lógica padrão. Um componente estendido pode aceitar parâmetros de outros componentes relacionados (por meio de seus elementos de comportamento com parâmetro) que podem especificar, adicionar ou modificar quaisquer elementos SBL ou partes deles.
[110] Agora, é feita referência à Figura 5 que ilustra um sistema 200 para a interação inteligente entre componentes e contentores de site da web, de acordo com uma realização da presente invenção.
[111] O sistema 200 pode compreender um sistema de construção de site da web 205, um manipulador de elemento estendido 210, um servidor de tempo de execução de WBS (sistema de construção de site da web) 220, um editor de WBS (sistema de construção de site da web) 230, um sistema de geração de site 240, um sistema de gestão de conteúdo 250 e um analisador de página 260. O sistema de construção de site da web 205 pode estar em comunicação com sistemas de cliente operados pela equipe do fornecedor de sistema de construção de site da web 261, um designer de site 262, um visualizador de site 263 e com sistemas externos 270.
[112] Será percebido que o sistema 200 e o funcionamento de seus elementos podem ser semelhantes ao do sistema 100, conforme descrito na Publicação de Patente Norte- Americana No 2018/0032626.
[113] Será adicionalmente percebido que o fluxo de trabalho do sistema 200 pode ter 3 estágios. O primeiro estágio pode ser definição de componente, segundo estágio pode ser definição de página e o terceiro estágio resolução de página por meio de um processo de pré-visualização utilizando WBS 230 e como parte do processo tempo de execução realizado pelo servidor de tempo de execução de WBS 220, conforme descrito na Publicação de Patente Norte-Americana No 2018/0032626.
[114] O manipulador de elemento estendido 210 pode manipular a comunicação entre componentes de site da web relacionados referentes a seus elementos de comportamento com parâmetro. Agora, é feita referência à Figura 6 que ilustra os elementos de manipulador de elemento estendido 210. O manipulador de elemento estendido 210 pode compreender um receptor de solicitação 211, um solucionador 212, um negociador 213 e um dispositivo de aprendizado por AI/Máquina 214 que pode incorporar princípios AI e aprendizado por máquina, conforme discutidos em mais detalhes aqui abaixo.
[115] CMS (sistema de gestão de conteúdo) 250 pode reter todas as formas de conteúdo e leiaute pertinentes ao sistema de construção de site da web 205, conforme é ilustrado na Figura 7 à qual é feita referência agora. Sistema de gestão de conteúdo 250 pode compreender repositório de tipos de componente de site da web 2501, repositório de elementos de comportamento com parâmetro de site da web 2502, um repositório de componente de WBS (sistema de construção de site da web) 2503, um repositório de site de WBS 2505, um repositório de inteligência de negócios 2506, um repositório de histórico de edição 2507, um repositório de informações de usuário 2508, um repositório de regras 2509, um repositório de ML/AI (aprendizado por máquina/inteligência artificial) 2510, um repositório de leiautes 2511 e um coordenador de sistema de gestão de conteúdo 2512 para coordenar dados entre sistema de gestão de conteúdo 250 e sistema 200. Será percebido que a configuração e funcionamento de CMS 250 podem ser semelhantes às de CMS 50 na Publicação Norte-Americana No US 2018/0032626.
[116] O analisador de página 260 pode pré- processar e analisar uma página da web recebida para determinar estruturas e relações de dados entre elas conforme é descrito em relação ao analisador de página 44 na Patente Norte-Americana No 9.747.258 intitulada “SYSTEM AND METHOD FOR THE CREATION AND USE OF VISUALLY-DIVERSE HIGH-QUALITY DYNAMIC LAYOUTS”, emitida em 29 de agosto de 2017 e atribuída ao requerente comum da presente invenção. Será percebido que, dessa maneira, o analisador de página 260 pode identificar compostos de semântica, componentes repetidores e hierarquias gerais de componente.
[117] O editor de WBS 230 pode ser um editor visual do sistema de construção de site da web regular com um entendimento de como manipular elementos de comportamento com parâmetro, e a capacidade de os componentes estendidos proverem comportamentos de edição especializados. O editor de WBS 230 também pode ter um bom entendimento da estrutura de dados da página sendo editada. O editor de WBS 230 pode permitir que a equipe de fornecedor 261 e/ou designers 262 editem/criem interativamente sites de página da web, conforme descrito em mais detalhes aqui abaixo. Agora, é feita referência à Figura 8 que ilustra os elementos de editor de WBS 230. O editor de WBS 230 pode compreender um seletor de componente 231, um aplicador de comportamento de edição 232 e um editor de componente/contentor 233.
[118] O editor de WBS 230 pode incluir um estágio de edição visual, um conjunto de painéis de seleção de componente e, também, editores de propriedade visual que incluem múltiplas propriedades (relacionadas ou não a leiaute) para cada componente ou contentor. Os editores de propriedade visual podem ser exibidos por meio de um apresentador de folha de propriedade. O editor de WBS 230 pode acessar o conjunto de componentes disponíveis (conforme providos pelo fornecedor de sistema de construção de site da web (de CMS 250) assim como provedores de componentes de terceiros) e informações de uso destes componentes no ambiente de edição de página.
[119] Um desse uso seria o uso dos metadados 17 do componente (por exemplo, nome, descrição, tipo e origem de componente) assim como informações de SBL e definições de interface de SBL para criar uma interface que permita a seleção de componentes a incluir em uma página. Será percebido que o seletor de componente 231 pode ainda implementar uma interface para cada um dos elementos de SBL do componente selecionado, por exemplo, provendo uma IU de seleção de estilo exibindo estilos relevantes ao conjunto de componentes da página ou um subconjunto selecionado dele.
[120] Outro uso desse seria para componentes para prover sua IU de edição de personalização/configuração/propriedade de combinação, que seria incluída pelo editor de WBS 230 e pode permitir que designers de site da web 262 personalizem o exemplo de componente específico. Isso poderia ser feito de diversas maneiras.
[121] Componentes podem prover uma IU (interface de usuário) de configuração completa, ou seja, a definição de componente pode incluir a IU de configuração utilizada no editor de WBS 230 para configurar o componente. Poderia ser código de IU completo (por exemplo, uma IU apresentável utilizando um iFrame separado) ou um conjunto de parâmetros provido ao editor de WBS 230 que gera e apresenta a IU de configuração real.
[122] Essa IU de configuração pode ter a forma de uma versão de componente alternativa utilizada para editar os aspectos e atributos de componente localmente, provendo capacidades de edição e uma IU no mesmo local, ocupada pelo componente. O componente também pode prover múltiplas dessas versões, utilizadas para editar diferentes aspectos ou atributos do componente.
[123] Será percebido que componentes podem prover um conjunto de propriedades de personalização e informações associadas (conhecidas como registros de personalização). O editor de WBS 230 pode, então, criar diálogos de customização ao coletar esses registros de personalização, integrando registros de múltiplos componentes, se necessário, e gerando a IU de personalização. Essa capacidade é discutida adicionalmente na Patente Norte-Americana No 9.753.911 intitulada “SYSTEM AND METHOD FOR DIALOG CUSTOMIZATION”, emitida em 5 de setembro de
2017, aqui incorporada por referência e atribuída ao requerente comum da atual invenção. Será percebido que elementos de comportamento com parâmetro de anulação também podem anular esses registros de personalização para prover uma interface de personalização alternativa.
[124] Também será percebido que componentes podem incluir informações de não configuração adicionais que podem ser úteis ao editor de WBS 230. Essas informações podem ser internas ao componente e podem afetar o conteúdo do componente ou componentes afetados colocados dentro do componente (por exemplo, conforme discutido em mais detalhes aqui abaixo em relação a contentores inteligentes). As informações também podem ser externas ao componente e podem afetar a maneira na qual o editor de WBS 230 e componentes contidos interagem com o determinado componente (por exemplo, diretrizes específicas sobre como o componente pode ser arrastado ou redimensionado).
[125] Como outro exemplo, o componente pode prover versões ou configurações de componente alternativas. Um exemplo seria a provisão de uma versão simplificada ou que pese menos do componente e, neste cenário, o sistema 200 pode exibir um componente “ao vivo” (parcialmente) enquanto o arrasta e aproxima-se do componente (conforme oposto à exibição do componente quando o componente for estático). Por exemplo, um componente reprodutor de vídeo pode prover uma versão de peso leve alternativa a ser utilizada enquanto arrasta e redimensiona o componente. Essa versão pode utilizar (por exemplo) uma resolução menor, taxa de quadro menor ou exibição repetida de uma pequena seção de vídeo, de modo a exibir mais facilmente, enquanto está sendo arrastado ou redimensionado.
[126] O componente também pode prover informações relacionadas ao leiaute e organização do componente. Essas informações podem incluir (por exemplo) tamanho de componente mínimo ou máximo, uma lista branca de elementos de comportamento com parâmetro de leiaute permitidos etc.
[127] Definições de componente também podem incluir dicas específicas que direcionam o processo dinâmico de leiaute envolvendo esse componente (conforme descrito na Publicação de Patente Norte-Americana No 2013-0219263 intitulada “WEB SITE DESIGN SYSTEM INTEGRATING DYNAMIC LAYOUT AND DYNAMIC CONTENT” publicada em 22 de agosto de 2013, aqui incorporada por referência e atribuída ao requerente comum da atual invenção) ou diretrizes específicas utilizadas para criar manipulações de edição especiais para o determinado componente que afetam qualquer comportamento de leiaute dinâmico e a operação de regras de leiaute dinâmicas quando o componente for editado (conforme descrito na Publicação de Patente Norte- Americana No 2013-0232403 intitulada “METHOD AND SYSTEM FOR THE USE OF ADJUSTMENT HANDLES TO FACILITATE DYNAMIC LAYOUT EDITING” publicada em 5 de setembro de 2013, aqui incorporada por referência e atribuída ao requerente comum da atual invenção).
[128] Conforme discutido aqui acima, há diferentes fases aos processos do sistema 200. No estágio de definição de componente, equipe de fornecedor de WBS 161 (e, geralmente, o designer 262) pode definir e criar alguns elementos de comportamento com parâmetro padrão utilizando editor de componente/contentor 233 incluindo especificação de quais tipos de elementos de comportamento com parâmetro podem ser anulados e sob quais condições. Será percebido que qualquer um que defina um componente (fornecedor 261/designer 262) também possa definir componentes contentores (incluindo os elementos de comportamento com parâmetro, gostaria de anular dentro de seus componentes contidos) sob condições associadas e possivelmente valores de parâmetro específicos.
[129] Designer de site 162 pode utilizar esses componentes e contentores para projetar seu site da web na fase de definição de página. Ele também pode modificar quaisquer anulações pré-específicas ou, possivelmente, especificar seus próprios parâmetros utilizando aplicador de comportamento de edição 232. Será percebido que o sistema 200 pode permitir que ele tenha capacidades adicionais, como especificação de suas próprias solicitações de anulação para componentes dentro de contentores ou a capacidade de editar totalmente todas as partes de componentes e contentores.
[130] Será percebido que o aplicador de comportamento de edição 232 pode aplicar as diversas operações de edição de objeto, tipicamente, afetadas utilizando um mouse, um teclado ou ambos (assim como qualquer outro meio de entrada de interface de usuário). Isso pode incluir a seleção, arraste, soltar, redimensionamento, cópia, pregresso etc., conforme discutido no Pedido de Publicação de Patente Norte-Americana No 2018/0032626.
[131] Será percebido que um designer de site 262 pode trabalhar utilizando WYSIWYG (o que você vê é o que você tem). Assim, uma página pode ser solucionada e exibida interativamente enquanto está sendo editada. Entretanto, o site da página da web pertinente também pode ser modificado no tempo de execução devido a alterações aos bancos de dados no CMS 250 (o banco de dados de base) ou em fontes externas que são exibidas por meio de contentores repetidores (que refletem essas alterações de banco de dados, por exemplo, apresentam registros adicionados ou apagados).
[132] Conforme discutido aqui acima, um componente pode aceitar parâmetros que podem especificar, adicionar ou modificar qualquer um dos elementos de SBL, como os elementos de comportamento com parâmetro descritos acima. Além disso, os elementos de comportamento com parâmetro podem aceitar seus próprios parâmetros, como “modificar todos os componentes contidos com um modificador de cor que atenua as cores em X%”.
[133] O manipulador de elemento estendido 210 pode manipular toda a funcionalidade referente aos elementos de comportamento com parâmetro. Por exemplo, o designer de site 162 (no tempo de execução) pode selecionar um componente (conhecido de outra forma como um componente selecionado de usuário) utilizando o seletor de componente 231 e aplicar o comportamento necessário utilizando aplicador de comportamento de edição 232. Será percebido que a aplicação pelo aplicador de comportamento de edição 232 pode alterar um ou muitos parâmetros dos elementos de comportamento com parâmetro os componentes selecionados.
[134] Será percebido que o manipulador de elemento 210 pode ser desencadeado pelo servidor de tempo de execução de WBS 240 (antes de uma página poder ser carregada ou atualizada) ou ser o editor de WBS 230 quando uma alteração de edição for feita a um componente atual durante uma sessão de edição (com isso, causando uma atualização completa ou parcial ou causando diretamente uma solicitação de anulação).
[135] O receptor de solicitação 211 pode receber uma solicitação de anulação (durante carregamento/atualização/interpretação de página de uma solicitação de edição de usuário ou de uma solicitação de sistema automática como um resultado de uma alteração de fontes externas 270/CMS 250). O solucionador 212 pode identificar quais componentes são afetados dentro dos níveis de contenção relacionados (com base em regras de seleção e condições especificadas pelo componente de solicitação) e o resultado do analisador de página 260 e pode receber do manipulador de dados 16 (de cada componente) quais elementos de comportamento com parâmetro são anuláveis. Conforme discutido aqui acima, o analisador de página 260 pode determinar a hierarquia de componente completa. Isso poderia envolver a detecção dos compostos de semântica (conforme discutido aqui acima) que pode ter elementos sujeitos a anulação e que podem ser parte da hierarquia. Assim, a hierarquia completa pode ter base em contentores predefinidos, contentores repetidores (definidos com base em fontes de dados) e compostos de semântica (definidos com base na análise de página).
[136] O negociador 213 pode implementar uma solicitação de componente com base em um protocolo de negociação com cada um dos componentes identificados com base na saída do solucionador 212 (incluindo negociações procedimentais, como utilizando variáveis e lógica de decisão) para se comunicar com o(s) elemento(s) de comportamento com parâmetro relevante(s) do componente selecionado para determinar a anulação de componente contido. O protocolo pode ser considerado uma forma de comunicação entre 2 componentes A e B1, a fim de determinar (por exemplo) se um parâmetro X de um componente A pode ser aplicado ao componente B1.
[137] O solucionador 212 também pode manipular resolução de conflito. Por exemplo, um componente contido que manipula formatação pode anular elementos de seu contentor com base nos dados apresentados a ele. O contentor, por outro lado, pode estar tentando anular elementos do componente contido. Assim, um loop ou conflito pode ser criado e solucionado pelo solucionador 212 (por meio de determinação de qual solicitação de anulação ignorar e, com isso, rompendo o loop).
[138] Conforme discutido aqui acima, alguns elementos de comportamento com parâmetro podem ser predefinidos como anuláveis e alguns não. Se, de acordo com o protocolo, a anulação for permissível, o solucionador 212 pode implementar a anulação.
[139] Assim, o solucionador 212 pode aplicar alterações de componente com base em regras que geralmente fluem junto à hierarquia de contentor, embora possam ter efeitos que cruzam os limites de hierarquia. Será percebido que o solucionador 212 é tipicamente parte de uma execução completa, enquanto converte a estrutura de banco de dados de sistema de construção de site da web em HTML (ou, de outra forma, preparando-o para exibição), mas também pode executar novamente devido a desencadeadores. Pode ser uma fase autônoma, ou integrada à fase de conversão completa.
[140] Com base nessa análise e na hierarquia de componente determinada, o solucionador 212 pode atravessar a hierarquia de página para determinar todas as solicitações de anulação feitas por diversos componentes de anulação. Será percebido que uma solicitação de anulação pode envolver a aplicação de um elemento de comportamento com parâmetro, mas também pode ser uma simples anulação de atributo (“ajustar a cor em verde”) o que não envolve um elemento de comportamento com parâmetro.
[141] Será percebido que o solucionador 212 pode determinar a lista de todas as solicitações de anulação e quaisquer componentes de combinação, ou seja, os componentes aos quais as solicitações de anulação devem ser aplicadas. O solucionador 212 também pode receber a resposta de cada componente de combinação a cada solicitação de anulação aplicável a ele, conforme determinado pela lista branca/lista negra própria do componente de combinação ou outras regras específicas de componente de combinação que governam uma solicitação de anulação. Agora, é feita referência à Figura 9 que ilustra um fluxo exemplar de anulações que podem ocorrer dentro de uma hierarquia de componentes. Por exemplo, um componente (comp1) pode anular os elementos de comportamento com parâmetro relevantes de uma série de componentes no mesmo contentor como comp1 ou contidos nele (como componentes 2, 3 e composto de semântica 1 mas não o repetidor 1). Também pode anular comp4 embora esteja em um nível de contenção diferente (ou seja, dentro do comp3).
[142] O solucionador 212 também pode determinar a ordem na qual a solicitação de anulação deve ser aplicada. Isso poderia ter base na ordem especificada por usuário (por exemplo, um componente de anulação que provê múltiplas solicitações de anulação e que especifica sua ordem ou prioridade) ou com base em regras de sistema (semelhante às regras de especificidade que governam a ordem na qual as regras de CSS são aplicadas).
[143] O solucionador 212 pode, então, aplicar as solicitações de anulação de acordo com a ordem determinada a todos os componentes combinados. Será percebido que a aplicação de uma solicitação de anulação a um componente de combinação específico pode afetar a maneira na qual o componente afetado interage com outros componentes (devido à avaliação de condições que retorna diferentes resultados). Por exemplo, se o componente A afetar o componente B, a alteração para o componente B pode causar situações nas quais B afeta o componente C ou é afetado pelo componente D a ser solucionado de maneira diferente. Isso poderia ser, por exemplo, devido às regras especializadas para o componente B (como parte de seu manipulador de dados de anulação 16) que podem causar algumas ou todas as alterações ao componente B para iniciar a anulação adicional de outros componentes pelo componente B. Será percebido que essas regras de anulação podem causar um efeito de “reação em cadeia” dentre os componentes e também pode causar “círculos de anulação” que podem ser detectados e solucionados pelo solucionador 212.
[144] Em uma realização estendida, componentes de anulação e componentes de combinação podem prover snippets de código que podem interagir e negociar entre si para determinar se deve ocorrer a anulação. Os snippets poderiam ser criados utilizando uma linguagem de programação regular (por exemplo, JavaScript) ou uma linguagem de script limitada, adaptada para essas negociações. De qualquer maneira, o negociador 213 pode executar esses snippets de código em uma sandbox ou outro ambiente de execução fechado.
[145] Será percebido que, em geral, anulações de elemento de comportamento com parâmetro (incluindo resolução e negociação) tipicamente ocorrem durante o estágio de interpretação da página, ou seja, quando uma página é editada ou atualizada (na edição e no tempo de execução).
[146] Será percebido que o manipulador de elemento estendido 210 pode ser integrado com a parte do sistema
200 que processa as definições de CMS de sistema de construção de site da web 250 e produz a saída ao usuário. Essa poderia ser a interpretação física à tela (por exemplo, utilizando um aplicativo de cliente especializado), ou criação de uma versão HTML do site. Será percebido que a resolução e interpretação finais podem ser realizadas pelo editor de WBS 230 (para fins de edição) e servidor de tempo de execução 240 ou pelo navegador do usuário ou uma combinação destes.
[147] Em outra realização, o navegador pode reativar o processo de sistema de construção de site da web para HTML para recriar alguma ou toda a página interpretada devido a desencadeadores ocorrendo (possivelmente incluindo interações de usuário). Isso também pode ocorrer com base em código operacional (JS) na página que age com base em diversos desencadeadores.
[148] Desencadeadores podem incluir diversos eventos como os descritos como desencadeadores de leiaute dinâmicos (alteração de dados, edições de site de outro usuário, notificações de servidor) assim como desencadeadores operacionais da página em si (interação de usuário, operação JS).
[149] Será percebido que o protocolo de negociação por meio do negociador 213 pode ser implementado por limites de interpretação (por exemplo, diferentes iFrames, diferentes janelas de navegador, diferentes máquinas para aplicativos de terceiros interpretados pelo servidor).
[150] Também será percebido que as atualizações aos componentes não são armazenadas em CMS 250, uma vez que são parte da resolução dinâmica de página, ou seja, realizada no estágio de pré-visualização (durante a edição) ou no tempo de execução. Será adicionalmente percebido que a resolução deve ser realizada no tempo de execução/pré-visualização, uma vez que o componente, por si só, pode alterar mais durante o tempo de execução devido (por exemplo) a desencadeadores de leiaute dinâmicos assim como lógica de componente. Será adicionalmente percebido que essas alterações podem afetar adicionalmente o processo de anulação, como alterando o resultado de uma análise de geometria/conteúdo. Por exemplo, se o componente A (por meio de um elemento de comportamento com parâmetro) alterar um atributo X de um componente B (que, então, cria uma versão 2 do componente B, com o valor atualizado do atributo X), o componente B não é armazenado em CMS 250 com o novo valor do atributo X, uma vez que a alteração pode afetar o componente B na próxima vez que for utilizado. Se (por exemplo) da vez seguinte o componente B for utilizado, o componente A não puder anular o componente B e o valor original do atributo X seria perdido. Uma exceção pode ser o armazenamento de uma versão em cache de uma página tendo o componente B com o novo valor do atributo X para rápida interpretação.
[151] Conforme discutido aqui acima, um componente ou página mãe pode ajustar (ou especificar) propriedades de componentes predefinidos contidos dentro de um componente mãe utilizando invocação de parâmetros de linha ou uma folha de estilo associado que inclui regras que ajusta propriedades específicas. Essa especificação também pode incluir alguma anulação. Por exemplo, um componente pode ter uma cor padrão predefinida e essa especificação pode anular a cor padrão. Isso também se aplica a atributos específicos ao sistema. Por exemplo, um componente pode ter um elemento de comportamento com parâmetro de leiaute padrão ou incorporado, e o componente de invocação pode especificar um elemento de comportamento com parâmetro de leiaute alternativo.
[152] Um componente também pode anular explicitamente atributos de componentes geridos providos ao componente por seu componente mãe, por exemplo: Homepage: <gallery id=“gallery1”> <grid id=“grid1”> … </grid> <Image src={image1} /> <Image src={image2} /> </gallery> Componente de galeria: <div id=“div1”> <nav-btn id=“nav1”> [PREV] </nav-btn> <nav-btn id=“nav2”> [NEXT] </nav-btn> <div id=“div2”>{this.props.children.map(child => child.toVdom({cor:'green'}))}</div> </div1>
[153] No exemplo acima, o componente de galeria (gallery1) é um contentor de componente e recebe 3 inferiores (grid1, image1, image2) como componentes geridos. Dentro de div2, o componente de galeria anula o atributo de ‘cor’ de CSS para os componentes inferiores recebidos, ajustando para verde. Isso pode ser relevante ao inferior grid1 (que tem provavelmente uma cor de fundo), mas não o inferior de imagem (image1, image2,
que pode não ter qualquer definição de cor). Será percebido que essa anulação não é aplicada aos componentes de botão predefinidos nav1 e nav2.
[154] Conforme discutido aqui acima, o manipulador de elemento 210 também pode aplicar tipos de elemento de comportamento com parâmetro (como leiaute) aos elementos geridos (componentes contidos). Isso pode ser feito, por exemplo, ao fazer uma chamada como “child.toVdom({--display: Carousel})” ao definir o componente. Será percebido que no exemplo acima, essa anulação pode ser relevante ao elemento gerido de componente em rede (grid1), mas não aos elementos geridos de componente de imagem.
[155] Outro exemplo pode utilizar um formato como “child.toVdom({display: ‘block’})” para anular um parâmetro específico de elemento de comportamento com parâmetro de leiaute (ou seja, método de exibição de imagem) quando relevante.
[156] Em um sistema com base em especificação de página E-HTML/CSS, essa anulação também pode ser alcançada por meio de um estilo específico que pode ser mencionado por uma referência de classe em linha ou função de adição de classe, por exemplo: Componente de galeria: <style> .set-carousel { --display: Carousel; } </style> … <div id=“div1”> <nav-btn id=“nav1”> [PREV] </nav-btn>
<nav-btn id=“nav2”> [NEXT] </nav-btn> <div id=“div2” class=“set-carousel”> // 1a opção {children} </div> <div id=“div3”> // 2a opção {this.props.children.map(child => child.AddClass(“set-carousel”))} </div> </div1>
[157] Conforme discutido aqui acima, fornecedor de WBS 261/designer de site da web 262 pode ajustar limitações na capacidade de os componentes ajustarem ou anularem atributos específicos de seus elementos predefinidos (ou seja, subcomponentes), seus elementos geridos (ou seja, inferior contido) ou ambos utilizando o editor de WBS 230. Uma implementação típica pode restringir as configurações ou anulação às propriedades de leiaute e estilo externas, e pode não permitir o ajuste, anulação, ou modificação de outras propriedades de elemento (incluindo o conteúdo de elemento em particular).
[158] Conforme discutido aqui acima, a funcionalidade do sistema 200 pode incluir manipulação especializada de elementos geridos (ou seja, componentes em um contentor).
[159] Por exemplo, quando um contentor de componente X tiver em mãos uma lista de elementos geridos (A1..An), para inclusão/exibição, o contentor de componente X pode transformar os elementos geridos de diversas maneiras antes de exibi-los com base (por exemplo) no tipo de X, os parâmetros do exemplo X específico ou os parâmetros e atributos dos elementos geridos. Essas transformações podem incluir alteração da ordem de exibição e ajuste de localizações ou posições específicas, por exemplo, elementos de exibição dispostos verticalmente, mas justificando cada item ímpar para a direita e cada item par para a esquerda (também conhecido como exibição em zigue-zague). Isso também poderia ter base em atributos de elemento geridos, conteúdo ou estrutura, por exemplo, justificar elementos geridos para o lado direito ou esquerdo, começando no topo, com base em seu brilho estando acima ou abaixo de um determinado valor.
[160] Outras transformações podem incluir alteração (anulação) de atributos dos elementos geridos, por exemplo, anulação de sua cor, ajuste de borda etc., omissão de elementos, por exemplo, somente exibição de um subconjunto dos elementos geridos providos, ou somente apresentar uma “janela” de 10 elementos específica da lista completa e muito maior, extensão de elementos, por exemplo, provendo elementos geridos que são, por si só, contentores com elementos geridos específicos ou adicionais e elementos de duplicação ou repetição, por exemplo, exibição de um elemento gerido duas vezes, possivelmente anulando alguns atributos nos elementos geridos exibidos, de modo a diferenciar entre as diferentes duplicatas de um elemento gerido específico. Isso poderia ser utilizado, por exemplo, para exibir múltiplas variantes para seleção.
[161] Será percebido que as realizações com base em E-HTML/CSS do sistema 200 podem também permitir a definição de folhas de estilo extensível, que podem prover uma via ou API pelos quais os elementos de um componente podem ser modificados de fora do componente. Isso pode ser utilizado, por exemplo, para anulação de elementos de comportamento com parâmetro ou de atributo regular e também pode se estender a CSS (ao adicionar elementos de comportamento com parâmetro extra a um componente).
[162] Uma definição típica tem a seguinte forma (por exemplo, utilizada dentro da definição de um componente de galeria): Dentro da definição de <Gallery>: <style> .mylayouter { @extend; // A classe pode ser personalizada de fora do componente utilizando CSS --Grid-prop-gutter:3; --Grid-prop-cols:5; cor: azul; } </style> <render> <div> <Grid class=“mylayouter” id=“grid1”> <div> … </div> <div> … </div> </Grid> <Grid id=“grid22”> <div> … </div> <div> … </div> </Grid> </div>
</render>
[163] Será percebido que a definição de E-CSS e uso de um tipo de elemento de comportamento com parâmetro de leiaute acima pode definir um conjunto de propriedades de leiaute extensíveis e capazes de anulação que podem ser aplicadas ao exemplo deste componente (ou seja, grid1 dentro da definição de galeria), incluindo a configuração do medianiz, colunas e propriedades de cor de grid1.
[164] Também pode definir um “tipo de elemento de comportamento com parâmetro de leiaute” acima de um elemento pseudopersonalizado que pode ser personalizado ou anulado de um componente externo que utiliza o componente de galeria.
[165] A declaração “@extend” acima informa o sistema 200 que essa folha de estilo pode ser estendida ou anulada por componentes mãe. A lista de propriedades definida na folha de estilo contendo funções “@extend” como uma lista branca de propriedades que podem ser anuladas. Além disso, a folha de estilo em si pode ser estendida ao adicionar propriedades adicionais. Será percebido que os valores especificados na folha de estilo para os diferentes atributos (por exemplo, gutter=3 acima) servem como os valores padrão quando um componente mãe não especificar um valor para o atributo específico.
[166] Em uma realização alternativa, o sistema 200 pode utilizar um formato diretivo semelhante a outros atributos de CSS específicos do sistema (por exemplo “—public: true”) ao invés da diretiva “@extend”.
[167] Neste cenário, outras propriedades de grid1, ou as propriedades de grid2, não são “abertas” ou uma parte da interface exposta do componente de galeria. Conforme discutido aqui acima, exceto para anulação explícita potencial de propriedades por meio do API com base em @extend, outras propriedades do componente de galeria, personalizadas ou predefinidas não seriam herdadas de componentes constantes, de modo a preservar a integridade do componente.
[168] O uso de especificação de propriedade curinga acima se refere a todas as propriedades que começam com o prefixo “prop-gallery-*”. O sistema 200 pode suportar outras especificações curinga também (incluindo especificação de propriedades de CSS de acordo com seu grupo de propriedade, relacionadas à cor, relacionadas ao fundo etc.). Será percebido que a especificação também pode se referir às propriedades de CSS regulares (não estendidas), de acordo com a referência a ‘cor’ acima.
[169] Conforme discutido aqui acima, o solucionador 212 pode ainda implementar uma lista branca/negra de acordo com “quem pode anular” (ou seja, quais componentes “mãe” podem anular as propriedades expostas) ao invés de “o que pode ser anulado”. Conforme discutido aqui acima, as informações podem ser providas pelo manipulador de dados 16 e pode ter base e diversos parâmetros e propriedades do componente mãe, como seu tipo de componente, nome, região da tela ou outros atributos (por exemplo, qual tipo de elemento de comportamento com parâmetro de leiaute utiliza). A sintaxe para essa especificação pode ser, por exemplo: @extend override_from=(gallery, grid*,…), exclude=(…) Ou @extend override_from=(propriedade=value,…), exclude=(…)
[170] Referente à invocação, um componente ou página que inclui (como proprietário) o componente de galeria descrito acima pode utilizar as propriedades expostas como parâmetros, por exemplo: <Gallery cols=4> … </Gallery>
[171] Isso pode ser feito utilizando quaisquer dos métodos descritos acima. O número de colunas (4) especificados no parâmetro de invocação anularia o valor padrão de 5. Essa anulação ou especificação pode ser somente aplicada aos componentes de propriedade direta (por exemplo, a galeria no exemplo acima). A anulação pode se aplicar a componentes de propriedade indireta em casos envolvendo componentes raiz compartilhados.
[172] Conforme discutido aqui acima, o sistema 200 pode suportar contentores inteligentes, ou seja, a definição de contentor pode incluir interações de editor, manipulações especiais e comportamentos de edição e tempo de execução.
[173] O editor de componente/contentor 233 também pode permitir a criação de contentores inteligentes e pode ainda fazer interface com um acionador de edição específico 15A que pode ser associado ao tipo de contentor inteligente.
[174] Será percebido que contentores inteligentes podem gerir seus componentes contidos e podem interagir com eles por meio do solucionador 212 para prover um conjunto de comportamentos não encontrados em contentores regulares.
[175] Em particular, o contentor pode definir limitações específicas ou regras sobre tipos de componente ou outros parâmetros. Por exemplo, um contentor de álbum pode permitir que somente componentes de imagem sejam incluídos nele, ou somente componentes de imagem e vídeo, ou somente imagens abaixo de um determinado tamanho e um contentor especializado pode transformar componentes polimórficos incluídos nele, por exemplo, converter todas as galerias contidas em galerias do tipo deslizante.
[176] O contentor pode ditar o estilo de seus componentes contidos. Isso pode ser feito, por exemplo, por meio de um conjunto de configurações e atributos que podem ser aplicados aos componentes. Eles podem incluir os elementos de apresentação (por exemplo cor, chanfro) assim como WBS ativo de elementos funcionais 230 (por exemplo, alças adicionadas que permitem manipulações específicas).
[177] Será adicionalmente percebido que o contentor pode definir diferentes configurações para diferentes tipos de componente contidos (por exemplo, tornar todas as galerias contidas amarelas e todas as caixas de texto contidas amplas e verdes).
[178] O contentor pode determinar a maneira na qual os componentes contidos estão dispostos dentro dele (por exemplo, uma galeria, sanfona, formato de livro ou outro) e também pode impor comportamento específico no leiaute de sub- componente dentro dele, por exemplo, afetando o arraste e redimensionamento dentro dele (por exemplo, precisa se alinhar com a rede ou determinadas disposições). O contentor também pode determinar a manipulação de leiaute dinâmico dentro do contentor, o que pode ser diferente dos métodos de manipulação de leiaute padrão utilizados para contentores regulares. Será percebido que a manipulação de leiaute dinâmico pode ter base
[179] em dicas dinâmicas de leiaute, conforme descrito aqui acima. Será percebido que a funcionalidade, conforme descrita aqui acima, pode ser definida por meio de acionamento de comportamento de editor 15A e acionador de comportamento de tempo de execução 15B.
[180] Também será percebido que a funcionalidade mencionada acima pode depender do tipo de componente contido, conteúdo de componente, idade do componente, histórico de edição do componente, histórico de herança de componente, tamanho do componente, forma do componente, ordem z do componente, uso do componente dentro do aplicativo, informações de formatação de componente, ordem de leitura natural do componente, associação de componente interpágina, dicas definidas pelo usuário e qualquer combinação destes. Alguns destes atributos de componente são adicionalmente discutidos na Publicação de Patente Norte-Americana No 2013-0086496 intitulado “Adaptive User Interface Creation in Multimedia Creative Design System”, publicada em 4 de abril de 2013, aqui incorporada por referência e atribuída ao requerente comum da atual invenção.
[181] Um contentor inteligente também pode interagir com o editor de WBS 230 para prover ao editor de WBS 230 um acionado específico de contentor e lógica (por meio de acionamento de comportamento de editor 15A). Esse acionador pode controlar aspectos do comportamento de edição. Esses aspectos são separados de qualquer comportamento de tempo de execução de contentor, mas podem afetar a apresentação final de contentor e componente.
[182] Um aspecto desse é o comportamento de arraste de componentes dentro do editor durante a edição.
Possíveis comportamentos podem incluir comportamento VBox (caixa vertical), todo o arraste é alinhado a uma linha vertical. Os componentes podem ser autoalinhados na linha, por exemplo, centralizados ou alinhados para a esquerda. Outro aspecto desse é o comportamento deslizante quando o arraste se tornar não contínuo e movimentar entre posições deslizantes diferentes, e pode fazer com que o deslizador deslize/percorra o conteúdo, a fim de permitir a colocação do componente arrastado em posições “não vistas”.
[183] Outro aspecto desse é o comportamento arrasta e solta. Por exemplo, uma caixa de edição de texto pode ser implementada como um contentor inteligente que posiciona componentes soltos, de modo que eles se integrem ao fluxo do texto já digitado na caixa de edição de texto, ao invés de utilizar a posição de soltar exata.
[184] Como outro exemplo, um tipo de contentor 3D pode adicionar alças de manipulação 3D e comportamentos 3D aos componentes contidos. O contentor pode prover ao editor de WBS 230 a lógica relevante e elementos de IU para suportar esse comportamento 3D. O editor de WBS 230 pode adicionar os novos tipos de alça e novas alças, controlar o redimensionamento e movimentação de componente contido e controlar a ordem na qual diversas ações de edição são executadas.
[185] O contentor pode permitir que o designer 262 defina alguns parâmetros que controlam o comportamento de edição e tempo de execução do contentor, possivelmente anulando alguns atributos de componente existentes. Por exemplo, conforme é ilustrado na Figura 10, à qual é feita referência, um contentor VBox A pode definir um comportamento padrão no qual a linha (vertical) L à qual os componentes contidos C1 a C4 são alinhados está no centro do contentor. O contentor pode permitir que o usuário anule esse parâmetro, e especificar uma posição diferente para a linha vertical L ao especificar uma posição absoluta ou com base em porcentagem R para a linha L.
[186] Como outro exemplo do mencionado acima, um contentor inteligente modificável em tempo de execução pode permitir que componentes que residem nele sejam movimentados ou redimensionados durante o tempo de execução (conforme especificado pelo manipulador de comportamento de tempo de execução 15B). Uma versão Vbox desse contentor inteligente pode reforçar o alinhamento dos componentes contidos movimentados a uma linha vertical no contentor, conforme descrito acima.
[187] Ainda, em outro exemplo, um contentor Vbox, ao dispor seus componentes contidos ao longo de uma linha vertical, colocará controles entre esses componentes inferiores que recorrem à função “adicionar componente no local” do editor visual.
[188] Ainda, em outro exemplo (conforme apresentado na Figura 11 à qual é feita referência agora), um contentor de componente inteligente A pode incluir a capacidade de definir um leiaute interno (por exemplo, ao dividir o contentor especial em X por Y retângulos iguais). No exemplo específico, A é dividido em 4x5 retângulos.
[189] Componentes colocados no contentor inteligente A (como o componente de imagem ilustrado B) “cresceriam” múltiplas alças de redimensionamente em cada borda, por exemplo, alças [c] e [d] na borda superior (com par de alça semelhante em cada uma das 4 bordas do componente B).
[190] O contentor inteligente A pode ainda implementar código adicional (operacional com a área de estágio visual de sistema de construção de site da web E), o que causa o redimensionamento por meio da alça [c] para alinhar à rede interna de A e redimensionamento por meio da alça [d] não alinha à rede interna de A. Exemplos adicionais desse comportamento diferente e tipos de alça são detalhados na Publicação de Patente Norte-Americana No 2013-0232403, incluindo comportamento que afetam os parâmetros e regras de leiaute dinâmico.
[191] Será percebido que, ao invés de alças visuais reais, o editor de WBS 230 pode implementar regiões de alça “invisíveis” que proveem a funcionalidade específica quando o mouse interagir com eles. O editor de WBS 230 pode notificar o usuário quando ele está trabalhando com essa alça invisível, por exemplo, ao alterar a forma de ponteiro do mouse.
[192] O sistema 200 pode suportar contentores que colocam os elementos dentro deles não com base em localizações predefinidas, mas, ao contrário, de acordo com otimização visual da colocação dos elementos (por exemplo, utilizando regras de colocação de componente).
[193] A implementação de arraste (por exemplo) pode ter base no acionamento de comportamento de editor 15A que faz interface com o editor de WBS 230 e o acionador de contentor inteligente provido pelo contentor Y. Por exemplo:
[194] O editor de WBS 230 faz um mouse se movimentar ao componente X.
[195] O editor de WBS 230 pode enviar a descrição de evento (a movimentação de mouse) ao acionamento de comportamento de editor 15A do contentor Y contendo o componente X.
[196] O acionamento de comportamento de editor
15A pode manipular o mouse para mover informações e o objeto de informações de leiaute de X existente para produzir um objeto de informações de leiaute modificado;
[197] O acionamento de comportamento de editor 15A atualiza o editor de WBS 230 e o contentor Y com as novas informações.
[198] Assim, o acionamento de comportamento de editor 15A pode funcionar dentro do editor de WBS 230, traduzindo interações do usuário em atualizações de propriedade. Essas interações podem incluir arraste, clique etc. Podem ser ações de nível maior (por exemplo “componente solto”) ou menor (atualização de rastreamento de cada posição do mouse). O acionador pode ser monolítico ou pode consistir em acionador genérico com um acionador específico de componente integrado à parte genérica. Será percebido que, em algumas realizações, alguma interação entre acionamento de comportamento de editor 15A e editor de WBS 230 pode passar por meio do solucionador
212. Por exemplo, um novo componente pode ser adicionado a um contentor e o novo componente pode enviar parâmetros de elemento de comportamento com parâmetro por si só.
[199] Será percebido que outros componentes (não de contentor) também podem compreender acionamento de comportamento de editor 15A. Por exemplo, um componente de rotulagem pode compreender um acionamento de comportamento de editor 15A que suporta variantes específicas de edição local.
[200] Como outro exemplo, um componente de exibição de imagem pode prover um processamento com base em região de interesse durante a edição de imagens de exibição. Nesse esquema, o sistema 200 pode definir uma região de interesse em uma imagem de exibição (por exemplo, um determinado objeto na imagem). Essa definição pode ter base na entrada do usuário, análise de conteúdo de imagem de outros fatores. Uma vez que uma região de interesse é definida, o sistema 200 pode modificar o posicionamento e reenquadramento da imagem quando a imagem for redimensionada (durante a edição), a fim de focar na região visível na região de interesse da imagem. Assim, a nova combinação de posicionamento e reenquadramento pode prover o melhor foco na região de interesse para o novo fator de aproximação.
[201] Também será percebido que o sistema 200 pode implementar modificações de recomendação a contentores provendo modificação ou recomendações de leiaute com base em AI/aprendizado por máquina para seus componentes contidos por meio do dispositivo de aprendizado por AI/Máquina 214. Será percebido que o funcionamento do dispositivo de aprendizado por AI/Máquina 214 pode ser semelhante ao descrito na Publicação de Patente Norte-Americana No 2015/0310124, que discute a recomendação de alternativas de projeto e aplica os mesmos princípios para as recomendações com base em AI, anulações de recomendações e parâmetros além dos leiautes completos.
[202] Essas modificações recomendadas podem incluir somente o leiaute (por exemplo, selecionando posição e tamanho), conjuntos de atributo limitados (por exemplo, contentor que provê imagens/vídeo de fundo específicos aos subcontentores dentro dele, ou somente afeta seleções de cor etc.), comportamento ou quaisquer sub-elementos de componente contido específicos.
[203] Isso pode ser feito para os componentes contidos dentro de um único contentor (com seção de página, página e conjuntos de página sendo “nível maior de contentores”)
ou para um conjunto de contentores (por exemplo, diversas seções de página separadas manipuladas juntamente, de modo a prover combinação de cor entre eles).
[204] Conforme discutido aqui acima, fornecedor de WBS 161 e designer 162 podem definir os componentes com instruções sobre como os atributos podem ser modificados utilizando criador de componente/contentor 233.
[205] O dispositivo de aprendizado por AI/Máquina 214 pode utilizar essas informações coletadas para o fornecedor 161/designer 162 de WBS e outros usuários (incluindo histórico de edição e BI, outros sites da web etc. armazenados em CMS 250) sobre o que constitui um bom design, combinação de cor etc. O dispositivo de aprendizado por AI/Máquina 214 pode classificar os usuários e sites relevantes, de acordo com seus atributos (tipo e subtipo de negócio, geografia, experiência de usuário, aspectos do sistema utilizados etc.).
[206] O dispositivo de aprendizado por AI/Máquina 214 pode analisar esse material de entrada, o que pode incluir uma ampla quantidade de alterações de edição (do histórico de edição) e aplicativos de elementos de comportamento com parâmetro, assim como informações sobre a popularidade e classificação dos sites, páginas e componentes analisados. Esse material de entrada pode ser utilizado para treinar um mecanismo de aprendizado por máquina (como um mecanismo com base em rede neural) que pode, então, prover uma recomendação de modificação. O estado atual do mecanismo de aprendizado por máquina pode ser mantido no repositório de ML/AI 2510.
[207] Esses contentores de recomendação podem ser misturados com outros contentores (regulares), sujeito às leis de privacidade e propriedade intelectual relevantes (como leis de direito de cópia e marca comercial) que governam o uso dessas informações e garantindo que a privacidade dos dados pertencentes a outros usuários não seja comprometida.
[208] Conforme discutido na Publicação de Patente Norte-Americana No 2018/0032626, alterações à estrutura dos componentes de site da web podem afetar a indexação do site da web por spiders de mecanismo de busca e, portanto, podem afetar a otimização de mecanismo de busca. Será percebido que o sistema 200 também pode compreender um interpretador compatível com o mecanismo de busca para enviar informações sobre os contentores atualizados e componentes a serem indexados em um spider de mecanismo de busca, conforme discutido na Patente Norte- Americana No 9.436.765 intitulado “SYSTEM FOR DEEP LINKING AND
SEARCH ENGINE SUPPORT FOR WEB SITES INTEGRATING THIRD PARTY APPLICATION AND COMPONENTS”, emitida em 6 de setembro de 2016 e aqui incorporada por referência e atribuída ao requerente comum da atual invenção.
[209] Assim, elementos de comportamento com parâmetro podem ser utilizados para transformar automaticamente os parâmetros visuais e operacionais dos componentes e contentores dentro de todos os níveis de contenção com base em protocolos de anulação.
[210] A menos que declarado especificamente de outra forma, conforme aparente das discussões anteriores, percebe-se que, ao longo de toda a especificação, as discussões utilizando os termos, como “processamento”, “computação”, “cálculo”, “determinação” ou similares, vide ação e/ou processos de um computador de objetivo geral de qualquer tipo, como um servidor, um cliente, dispositivos de computação móveis, equipamentos inteligentes ou dispositivo de computação eletrônico semelhante que manipula e/ou transforma dados representados como físicos, como eletrônico, quantidades dentro dos gravadores e/ou memórias de sistema de computação em outros dados semelhantemente representadas como quantidades físicas dentro das memórias, gravadores ou outro armazenamento de informações desses, dispositivos de transmissão ou exibição do sistema de computação.
[211] As realizações da presente invenção podem incluir equipamento para a realização das operações aqui. Esse equipamento pode ser construído especialmente para os objetivos desejados, ou pode compreender um computador de objetivo geral ou uma configuração de cliente/servidor ativada ou reconfigurada seletivamente por um programa de computador armazenado no computador. O equipamento resultante, quando instruído por software pode se tornar o computador de objetivo geral em elementos inventivos, conforme aqui discutido. As instruções podem definir o dispositivo inventivo em operação com a plataforma de computador para a qual isso é desejado. Esse programa de computador pode ser armazenado em um meio de armazenamento legível por computador, como, entre outros, qualquer tipo de disco, incluindo discos ópticos, discos magnético-ópticos, memórias de somente leitura (ROMs), memórias voláteis e não voláteis, memórias de acesso aleatório (RAMs), memórias de somente leitura eletricamente programáveis (EPROMs), memórias de somente leitura apagáveis e programáveis eletricamente (EEPROMs), cartões magnéticos ou ópticos, memória Flash, disk-on-key ou qualquer outro tipo de mídia adequada para armazenar instruções eletrônicas e capaz de ser acoplada a um barramento de sistema de computador.
[212] Os processos e exibições aqui apresentados não são inerentemente relacionados a qualquer computador particular ou outro equipamento. Diversos sistemas de objetivo geral podem ser utilizados com programas, de acordo com os ensinamentos aqui, ou podem se comprovar conveniente para construir um equipamento mais especializado para realizar o método desejado. A estrutura desejada para uma variedade destes sistemas aparecerá a partir da descrição acima. Além disso, as realizações da presente invenção não são descritas com referência a qualquer linguagem de programação particular. Será percebido que uma variedade de linguagens de programação pode ser utilizada para implementar os ensinamentos da invenção, conforme aqui descrito.
[213] Embora determinados aspectos da invenção tenham sido ilustrados e descritos aqui, muitas modificações, substituições, alterações e equivalentes, agora, ocorrerão aos técnicos no assunto em questão. Portanto, deve ser entendido que as reivindicações anexas são destinadas a abranger todas essas modificações e alterações, conforme estejam dentro do espírito real da invenção.

Claims (17)

REIVINDICAÇÕES
1. SISTEMA DE CONSTRUÇÃO DE SITE DA WEB, em que o sistema é caracterizado por compreender: pelo menos um banco de dados que armazena componentes de site da web e suas hierarquias de componente associadas, cada componente compreendendo elementos de comportamento com parâmetro anulável, elementos de comportamento com parâmetro não anulável e um manipulador de dados, o dito manipulador de dados manipulando protocolos de anulação para os ditos componentes; e um manipulador de elemento para revisar todos os componentes a serem interpretados para uma visualização atual e para um componente atual, para manipular uma solicitação de componente entre o dito componente atual e pelo menos outro componente dentro da dita hierarquia de componente, a fim de implementar uma solicitação de anulação do dito pelo menos outro componente, o dito manipulador de elemento para atualizar o dito componente atual somente se a dita solicitação de anulação for relacionada a um elemento de comportamento com parâmetro anulável do dito componente atual, de acordo com o dito manipulador de dados do dito componente atual.
2. SISTEMA, de acordo com a reivindicação 1, ainda caracterizado por compreender um editor de WBS (sistema de construção de site da web) com conhecimento de elementos de comportamento com parâmetro para permitir que um usuário selecione um componente e aplique uma alteração de edição ao dito componente selecionado.
3. SISTEMA, de acordo com a reivindicação 2, ainda caracterizado por compreender um analisador de página para determinar a dita hierarquia de componente para o dito componente atual e para determinar se o dito componente atual é um composto de semântica.
4. SISTEMA, de acordo com a reivindicação 2, em que o dito manipulador de elemento é caracterizado por compreender: um receptor de solicitação para receber o dito componente atual e dita solicitação de anulação de pelo menos um dentre: o dito editor de WBS como um resultado da dita alteração de edição e o dito servidor de tempo de execução como um resultado de uma alteração ao dito componente atual devido a uma alteração de uma fonte externa; um solucionador de componente para receber do dito manipulador de dados do dito componente atual quais elementos de comportamento com parâmetro do dito componente atual são anuláveis, para aplicar alterações de solicitação de anulação de acordo e para resolver conflitos de anulação entre o dito componente atual e dito pelo menos outro componente dentro da dita hierarquia; e um negociador para permitir a dita comunicação entre pelo menos um elemento de comportamento com parâmetro do dito componente atual e dito pelo menos outro componente, de acordo com o dito solucionador de componente e um protocolo com base em regras de anulação predefinidas para o dito pelo menos outro componente.
5. SISTEMA, de acordo com a reivindicação 4, ainda caracterizado por compreender um aprendiz de inteligência artificial/máquina para realizar a análise de aprendizado de inteligência artificial e máquina com base na atividade de usuário e análise de outros sites da web e páginas para recomendar anulações de modificação para os ditos componentes de site da web com base na dita análise.
6. SISTEMA, de acordo com a reivindicação 2, em que o dito editor de WBS é caracterizado por compreender: um editor de componente para permitir que um usuário crie e defina regras de anulação para elementos de comportamento com parâmetro de um componente de site da web; um seletor de componente para permitir que um usuário selecione um componente; e um aplicador de comportamento de edição para aplicar a dita alteração de edição ao dito componente selecionado.
7. SISTEMA, de acordo com a reivindicação 2, em que os ditos componentes de site da web também são caracterizados por compreenderem pelo menos um dentre: um acionamento de comportamento de editor para afetar o processo de representação e edição do dito componente pelo dito editor de WBS; um acionador de comportamento de tempo de execução para afetar como o dito componente é manipulado pelo dito servidor de tempo de execução no tempo de execução; e uma função de interpretação de componente para prover instruções de interpretação para o dito componente atual para o dito editor de WBS e dito servidor de tempo de execução.
8. MÉTODO PARA UM SISTEMA DE CONSTRUÇÃO DE SITE DA WEB, em que o método é caracterizado por compreender: armazenamento de componentes de site da web e suas hierarquias de componente associadas, cada componente compreendendo elementos de comportamento com parâmetro anulável, elementos de comportamento com parâmetro não anulável, e um manipulador de dados, o dito manipulador de dados manipulando protocolos de anulação para os ditos componentes; e revisão de todos os componentes a serem interpretados para uma visualização atual e para um componente atual, manipulação de uma solicitação de componente entre o dito componente atual e pelo menos outro componente dentro da dita hierarquia de componente a fim de implementar uma solicitação de anulação do dito pelo menos outro componente e atualização do dito componente atual somente se a dita solicitação de anulação for relacionada a um elemento de comportamento com parâmetro anulável do dito componente atual, de acordo com o dito manipulador de dados do dito componente atual.
9. MÉTODO, de acordo com a reivindicação 8, ainda caracterizado por compreender permissão de que um usuário selecione um componente e aplique uma alteração de edição ao dito componente selecionado durante uma sessão de edição.
10. SISTEMA, de acordo com a reivindicação 1 e método, de acordo com a reivindicação 8, caracterizados pelo dito componente atual ser pelo menos um dentre composto predefinido, repetidor ou de semântica.
11. MÉTODO, de acordo com a reivindicação 8, ainda caracterizado por compreender a determinação da dita hierarquia de componente para o dito componente atual e determinação de se o dito componente atual é um composto de semântica.
12. MÉTODO, de acordo com a reivindicação 8, em que a dita revisão, a dita manipulação e a dita atualização são caracterizadas por compreender: recepção do dito componente atual e dita solicitação de anulação de pelo menos um dentre: dita habilitação de um usuário como um resultado da dita alteração de edição e dita ativação no tempo de execução como um resultado de uma alteração ao dito componente atual devido a uma fonte externa; recepção do dito manipulador de dados do dito componente atual de quais elementos de comportamento com parâmetro do dito componente atual são anuláveis, aplicação de alterações de solicitação de anulação de acordo e resolução de conflitos de anulação entre o dito componente atual e dito pelo menos outro componente dentro da dita hierarquia; e habilitação da dita comunicação entre pelo menos um elemento de comportamento com parâmetro do dito componente atual e dito pelo menos outro componente de acordo com a dita recepção, dita aplicação e dita resolução e um protocolo com base em regras de anulação predefinidas para o dito pelo menos outro componente.
13. MÉTODO, de acordo com a reivindicação 12, ainda caracterizado por compreender realização de análise de aprendizado de inteligência artificial e máquina com base em atividade de usuário e análise de outros sites da web e páginas e recomendação de anulações de modificação para os ditos componentes de site da web com base na dita análise.
14. MÉTODO, de acordo com a reivindicação 8, em que a dita habilitação de um usuário para selecionar um componente e aplicar uma alteração de edição é caracterizada por compreender:
habilitação de um usuário para criar e definir regras de anulação para elementos de comportamento com parâmetro de um componente de site da web; habilitação de um usuário para selecionar um componente; e aplicação da dita alteração de edição ao dito componente selecionado.
15. SISTEMA, de acordo com a reivindicação 8, e MÉTODO, de acordo com a reivindicação 14, em que a dita alteração de edição é caracterizada por compreender pelo menos um dentre: seleção, arraste, soltar, redimensionar, cópia, pregresso e modificação de atributo.
16. SISTEMA, de acordo com a reivindicação 1, e método, de acordo com a reivindicação 8, caracterizado pelos ditos elementos de comportamento com parâmetro representarem pelo menos um dentre estilo, corpo e lógica do dito componente atual.
17. SISTEMA, de acordo com a reivindicação 1, e método, de acordo com a reivindicação 8, caracterizado pela dita solicitação de anulação ser para um parâmetro anulável de um elemento de comportamento com parâmetro.
BR112019025644-0A 2017-06-08 2018-06-07 sistema de construção de site da web e método para um sistema de construção de site da web BR112019025644A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762516682P 2017-06-08 2017-06-08
US62/516,682 2017-06-08
US201862665629P 2018-05-02 2018-05-02
US62/665,629 2018-05-02
PCT/IB2018/054126 WO2018225012A2 (en) 2017-06-08 2018-06-07 System and method for smart interaction between website components

Publications (1)

Publication Number Publication Date
BR112019025644A2 true BR112019025644A2 (pt) 2020-08-25

Family

ID=64565760

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019025644-0A BR112019025644A2 (pt) 2017-06-08 2018-06-07 sistema de construção de site da web e método para um sistema de construção de site da web

Country Status (7)

Country Link
EP (1) EP3635587A4 (pt)
JP (3) JP7203767B2 (pt)
AU (2) AU2018279309C1 (pt)
BR (1) BR112019025644A2 (pt)
CA (1) CA3063609A1 (pt)
IL (2) IL299258A (pt)
WO (1) WO2018225012A2 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020278255A1 (en) * 2019-05-20 2022-01-20 Wix.Com Ltd. System and method providing responsive editing and viewing, integrating hierarchical fluid components and dynamic layout
JP6895698B1 (ja) * 2020-07-03 2021-06-30 株式会社Shift 作成支援装置およびプログラム
CN112000328B (zh) * 2020-09-04 2023-12-01 赞同科技股份有限公司 一种页面可视化编辑方法、装置及设备
CN113361525A (zh) * 2021-06-30 2021-09-07 深圳市斯博科技有限公司 基于ocr的页面生成方法、装置、计算机设备及存储介质
CN114936245B (zh) * 2022-04-28 2023-04-14 北京远舢智能科技有限公司 一种多源异构数据的集成和处理方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091576A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US7386490B2 (en) * 2000-04-10 2008-06-10 Treetop Ventures, Llc Automated retail website creation
US7778889B2 (en) * 2000-08-31 2010-08-17 The Softad Group, Llc Modular e-commerce web site development system
US20030004746A1 (en) * 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US20070136201A1 (en) * 2005-12-12 2007-06-14 Google Inc. Customized container document modules using preferences
US7668755B2 (en) * 2006-01-06 2010-02-23 Mira Exim Limited Dynamically fabricated store for distribution of media content
US20080010387A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method for defining a Wiki page layout using a Wiki page
US8533225B2 (en) * 2010-09-27 2013-09-10 Google Inc. Representing and processing inter-slot constraints on component selection for dynamic ads
US10146419B2 (en) * 2012-02-20 2018-12-04 Wix.Com Ltd. Method and system for section-based editing of a website page
US10185703B2 (en) * 2012-02-20 2019-01-22 Wix.Com Ltd. Web site design system integrating dynamic layout and dynamic content
US9116710B2 (en) 2012-12-22 2015-08-25 Oracle International Corporation Dynamic user interface authoring
WO2014141130A2 (en) * 2013-03-14 2014-09-18 Wixpress Ltd. A system and method for dialog customization
US20170083292A1 (en) 2015-09-18 2017-03-23 Amazon Technologies, Inc. Visual content development
BR112019001343A2 (pt) 2016-07-27 2019-04-30 Wix.Com Ltd. sistema de criação de website e método para um sistema de criação de website

Also Published As

Publication number Publication date
EP3635587A4 (en) 2021-03-10
JP2020524837A (ja) 2020-08-20
JP7203767B2 (ja) 2023-01-13
AU2018279309B2 (en) 2022-07-07
WO2018225012A3 (en) 2019-02-07
AU2018279309C1 (en) 2023-11-16
IL270766B2 (en) 2023-05-01
JP2024038342A (ja) 2024-03-19
IL270766A (en) 2020-01-30
EP3635587A2 (en) 2020-04-15
CA3063609A1 (en) 2018-12-13
JP2023036878A (ja) 2023-03-14
AU2018279309A1 (en) 2020-01-23
IL299258A (en) 2023-02-01
AU2022246444A1 (en) 2022-11-03
IL270766B1 (en) 2023-01-01
JP7420911B2 (ja) 2024-01-23
WO2018225012A2 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
US20230036518A1 (en) System and method for smart interaction between website components
BR112019025644A2 (pt) sistema de construção de site da web e método para um sistema de construção de site da web
US9880696B2 (en) System for providing dynamic linked panels in user interface
US7873946B2 (en) Scalable vector graphics, tree and tab as drag and drop objects
JP2023078363A (ja) ウェブサイト構築システムおよびウェブサイト構築システムのための方法
BR112019024309A2 (pt) editar base de dados durante visualização de página da web virtual
WO2016054549A1 (en) Application prototyping tool
US10824800B2 (en) System and method for designing and editing computerized electronic data-entry forms
JP7373563B2 (ja) ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
Murphy et al. Beginning Android 3
US20070083853A1 (en) System and method for declarative validation rule editor
MacDonald et al. Pro Asp. Net 3.5 In C# 2008 3Rd Ed: Includes Silverlight 2
Sinha et al. Compiling mockups to flexible uis
US20140095982A1 (en) Systems, Servers, and Methods for Managing Websites
KR101546359B1 (ko) 웹 브라우저 호환성 및 폰트 유지를 위한 웹 페이지 생성방법 및 시스템
WO2013156066A1 (en) A computer implemented method for changing a first site s into a second site s&#39;
CN111694723B (zh) 产品在h5下运行时对节点及组件编辑的方法、存储介质
US20230359814A1 (en) System and method for creation and handling of configurable applications for website building systems
US20120233551A1 (en) System Of Spatial Enterprise Solution
CN117668403A (zh) 一种页面设计器及其装置、存储介质、计算设备
Armbruster A graphical editor for structural screen models
KR20150136310A (ko) 위지윅 에디터 시스템
Yaniss et al. Bringing GEOSS Services into Practice: GeoNode tutorial
CA2985225A1 (en) System and method for designing and editing computerized electronic data-entry forms
Seelemann Automatic Application of Layout in Coordinate-based Interfaces during Localization

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]