BRPI0709017A2 - transmutação de interface do usuário com base em permissões - Google Patents

transmutação de interface do usuário com base em permissões Download PDF

Info

Publication number
BRPI0709017A2
BRPI0709017A2 BRPI0709017-0A BRPI0709017A BRPI0709017A2 BR PI0709017 A2 BRPI0709017 A2 BR PI0709017A2 BR PI0709017 A BRPI0709017 A BR PI0709017A BR PI0709017 A2 BRPI0709017 A2 BR PI0709017A2
Authority
BR
Brazil
Prior art keywords
objects
computer executable
executable code
list
license
Prior art date
Application number
BRPI0709017-0A
Other languages
English (en)
Inventor
Jesper Kiehn
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0709017A2 publication Critical patent/BRPI0709017A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

TRANSMUTAçAO DE INTERFACE DO USUáRIO COM BASE EM PERMISSõES Formas podem ser transmutadas com base em permissões de modo que os obje- tos, para os quais permissão ou uma licença não está disponível, não são exibidos. Código relevante pode ser analisado para determinar se a permissão para uma tabela está disponível e se a permissão para uma tabela não está disponível, objetos que contam com aquela tabela não são incluídos na forma transmutada.

Description

"TRANSMUTAÇAO DE INTERFACE DO USUÁRIO COM BASE EMPERMISSÕES"
ANTECEDENTES
Computadores são muito úteis no agrupamento, análise e exibição de informação.
Porém, nem todos os usuários são permitidos ver todas as aplicações ou controles em umsistema dado. Conseqüentemente, se um usuário selecionar um item que não está licencia-do ou não foi completamente instalado, nada ocorrerá que pode ser frustrante para um usu-ário.
SUMÁRIO
Transmutação de uma interface do usuário com base em permissões é revelada. Ométodo pode criar formas de exibição para exibir uma pluralidade de objetos, usa os objetospara obter permissões para exibir os objetos individuais, se a permissão for recebida paraum objeto a ser exibido, adicionando o objeto a uma lista de objetos a serem exibidos, se apermissão não for recebida para um objeto a ser exibido, abstendo-se de adicionar o objetoa uma lista de objetos a serem exibidos e criando uma forma de exibição transmutada queexibe os objetos na lista de objetos a serem exibidos.
DESENHOS
Fig. 1 é um diagrama de blocos de um sistema de computação que pode operar deacordo com as reivindicações;
Fig. 2 é uma ilustração de nível alto de um método de acordo com as reivindicações;
Fig. 3 é uma ilustração mais detalhada de um método de acordo com as reivindicações;
Fig. 4 é uma ilustração mais detalhada de um método de acordo com as reivindicações; e
Fig. 5 é uma ilustração de uma exibição a ser transmutada.
DESCRIÇÃO
Embora o texto a seguir exponha uma descrição detalhada de numerosas modali-dades diferentes, deveria ser entendido que o escopo legal da descrição é definido pelaspalavras das reivindicações expostas ao término desta patente. A descrição detalhada épara ser interpretada como exemplar apenas e não descreve toda possível modalidade umavez que descrever toda possível modalidade não seria prático, se não impossível. Numero-sas modalidades alternativas poderiam ser implementadas, usando tecnologia atual ou tec-nologia desenvolvida após a data de depósito desta patente que ainda se enquadraria noescopo das reivindicações.
Deve também ser entendido que, a menos que um termo seja expressamente defi-nido nesta patente usando a oração "Como aqui usado, o termo '_' é definido poreste meio para significar..." ou uma oração similar, não há nenhuma intenção de limitar osignificado daquele termo, expressa ou implicitamente, além de seu significado claro ou u-sual, e tal termo não deveria ser interpretado ser limitado em escopo com base em qualquerdeclaração feita em qualquer seção desta patente (a não ser a linguagem das reivindica-ções). Na medida que qualquer termo recitado nas reivindicações ao final desta patente éreferido nesta patente de uma maneira consistente com um único significado, isso é feito porrazão de clareza apenas para não confundir o leitor, e não é intencionado que tal termo dareivindicação seja limitado, implicitamente ou do contrário, por aquele único significado. Porfim, a menos que um elemento da reivindicação seja definido recitando a palavra "significa"e uma função sem o recital de qualquer estrutura, não é intencionado que o escopo de qual-quer elemento da reivindicação seja interpretado com base na aplicação de 35 U. S. C. §112, sexto parágrafo.
Fig. 1 ilustra um exemplo de um ambiente de sistema de computação adequado100 no qual um sistema para as etapas do método e aparelho reivindicados pode ser im-plementado. O ambiente de sistema de computação 100 é apenas um exemplo de um am-biente de computação adequado e não é intencionado sugerir qualquer limitação quanto aoescopo de uso ou funcionalidade do método de aparelho das reivindicações. Nem deve oambiente de computação 100 ser interpretado como tendo qualquer dependência ou reque-rimento relativo a qualquer um ou combinação de componentes ilustrados no ambiente ope-racional exemplar 100.
As etapas do método e aparelho reivindicados são operacionais com numerososoutros ambientes ou configurações de sistema de computação de propósito geral ou especi-al. Exemplos de sistemas de computação, ambientes, e/ou configurações bem conhecidosque podem ser adequados para o uso com os métodos ou aparelho das reivindicações in-cluem, mas não são limitados a, computadores pessoais, computadores servidores, disposi-tivos de mão ou laptops, sistemas de multiprocessadores, sistemas com base em micropro-cessador, dispositivos eletrônicos, eletrônicos programáveis pelo consumidor, PCs de rede,minicomputadores, mainframes, ambientes de computação distribuídos que incluem qual-quer um dos sistemas ou dispositivos acima, e outros.
As etapas do método e aparelho reivindicados podem ser descritas no contexto ge-ral de instruções executáveis por computador, tais como módulos de programa, sendo exe-cutados por um computador. Em geral, os módulos de programa incluem rotinas, progra-mas, objetos, componentes, estruturas de dados, etc. que executam tarefas particulares ouimplementam tipos de dados de resumo particulares. Os métodos e aparelho podem tam-bém ser praticados em ambientes de computação distribuídos onde as tarefas são executa-das por dispositivos de processamento remotos que são ligados através de uma rede decomunicações. Em um ambiente de computação distribuído, os módulos de programa po-dem estar localizados em meios de armazenamento de computador locais e remotos inclu-indo dispositivos de armazenamento de memória.
Com referência à Fig. 1, um sistema exemplar para implementar as etapas do mé-todo e aparelho reivindicados inclui um dispositivo de computação de propósito geral naforma de um computador 110. Componentes de computador 110 podem incluir, mas nãosão limitados a, uma unidade de processamento 120, uma memória do sistema 130, e umbarramento do sistema 121 que acopla vários componentes do sistema incluindo a memóriado sistema à unidade de processamento 120. O barramento do sistema 121 pode ser quais-quer de vários tipos de estruturas de barramento incluindo um barramento de memória oucontrolador de memória, um barramento periférico, e um barramento local usando qualquerde uma variedade de arquiteturas de barramento. Por via de exemplo, e não limitação, taisarquiteturas incluem barramento de Arquitetura de Padrão Industrial (ISA), barramento deArquitetura de Micro Canal (MCA), barramento de ISA Otimizada (EISA), barramento localda Associação dos Padrões de Eletrônicos de Vídeo (VESA) e barramento de interconexãode Componentes Periféricos (PCI) também conhecido como barramento de Mezanino.
Computador 110 tipicamente inclui uma variedade de meios legíveis por computa-dor. Meios legíveis por computador podem ser quaisquer meios disponíveis que possam seracessados através do computador 110 e incluem meios voláteis e não-voláteis, meios remo-víveis e não-removíveis. Por via de exemplo, e não limitação, meios legíveis por computadorpodem compreender meios de armazenamento de computador e meios de comunicação.
Meios de armazenamento de computador incluem meios voláteis e não-voláteis, removíveise não-removíveis implementados em qualquer método ou tecnologia para armazenamentode informação tal como instruções legíveis por computador, estruturas de dados, módulosde programa ou outros dados. Meios de armazenamento de computador incluem, mas nãosão limitados a, RAM, ROM, EEPROM, memória instantânea ou outra tecnologia de memó-ria, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento de disco óptico, cas-setes magnéticos, fita magnética, armazenamento de disco magnético ou outros dispositivosde armazenamento magnéticos, ou qualquer outro meio que possa ser usado para armaze-nar a informação desejada e que possa ser acessado através do computador 110. Meios decomunicação tipicamente incorporam instruções legíveis por computador, estruturas de da-dos, módulos de programa ou outros dados em um sinal de dados modulado tal como umaonda portadora ou outro mecanismo de transporte e inclui quaisquer meios de liberação deinformação. O termo "sinal de dados modulado" significa um sinal que tem uma ou mais desuas características determinadas ou alteradas em uma tal maneira a codificar informaçãono sinal. Por via de exemplo, e não limitação, meios de comunicação incluem meios comfios tais como uma rede com fios ou conexão com fios direta, e meios sem fios tais comomeios acústicos, RF1 infravermelho e outros sem fios. Combinações de qualquer um dosacima devem também ser incluídas dentro do escopo de meios legíveis por computador.
A memória do sistema 130 inclui meios de armazenamento de computador na for-ma de memória volátil e/ou não-volátil tal como memória exclusiva de leitura (ROM) 131 ememória de acesso aleatório (RAM) 132. Um sistema básico de entrada/saída 133 (BIOS),contendo as rotinas básicas que ajudam a transferir informação entre os elementos dentrodo computador 110, tal como durante a inicialização, é tipicamente armazenado na ROM131. RAM 132 tipicamente contém módulos de dados e/ou de programa que são imediata-mente acessíveis e/ou presentemente sendo operados através da unidade de processamen-to 120. Por via de exemplo, e não limitação, Fig. 1 ilustra sistema operacional 134, progra- mas de aplicação 135, outros módulos de programa 136, e dados de programa 137.
O computador 110 pode também incluir outros meios de armazenamento de com-putador removíveis/não-removíveis, voláteis/não-voláteis. Por via de exemplo apenas, Fig. 1ilustra uma unidade de disco rígido 140 que lê ou escreve em meios magnéticos não-removíveis, não-voláteis, uma unidade de disco magnético 151 que lê ou escreve em umdisco magnético removível, não-volátil 152, e uma unidade de disco óptico 155 que lê ouescreve em um disco óptico removível, não-volátil 156 tal como um CD ROM ou outros mei-os ópticos. Outros meios de armazenamento de computador removíveis/não-removíveis,voláteis/não-voláteis que podem ser usados no ambiente operacional exemplar incluem,mas não são limitados a, cassetes de fita magnética, cartões de memória instantânea, dis-cos versáteis digitais, fita de vídeo digital, RAM de estado sólido, ROM de estado sólido, eoutros. A unidade de disco rígido 141 é tipicamente conectada ao barramento do sistema121 através de uma interface de memória não-removível tal como interface 140, e unidadede disco magnético 151 e unidade de disco óptico 155 são tipicamente conectadas ao bar-ramento do sistema 121 por uma interface de memória removível, tal como interface 150.
As unidades e seus meios de armazenamento de computador associados debati-dos e ilustrados acima na Fig. 1, fornecem armazenamento de instruções legíveis por com-putador, estruturas de dados, módulos de programa e outros dados para o computador 110.Na Fig. 1, por exemplo, a unidade de disco rígido 141 é ilustrada como armazenando o sis-tema operacional 144, programas de aplicação 145, outros módulos de programa 146, edados de programa 147. Observe que estes componentes ou podem ser iguais ou diferentesdo sistema operacional 134, programas de aplicação 135, outros módulos de programa 136,e dados de programa 137. Sistema operacional 144, programas de aplicação 145, outrosmódulos de programa 146, e dados de programa 147 são números diferentes dados aquipara ilustrar que, no mínimo, eles são cópias diferentes. Um usuário pode introduzir os co-mandos e informação no computador 20 através de dispositivos de entrada tais como umteclado 162 e dispositivo de apontamento 161, comumente referido como um mouse, track-ball ou mesa de toque. Outros dispositivos de entrada (não mostrados) podem incluir ummicrofone, joystick, acionador de jogo, disco satélite, escâner, ou outros. Estes e outros dis-positivos de entrada são freqüentemente conectados à unidade de processamento 120 atra-vés de uma interface de entrada do usuário 160 que é acoplada ao barramento do sistema,mas podem ser conectados por outra interface e estruturas de barramento, tais como umaporta paralela, porta de jogo ou um barramento serial universal (USB). Um monitor 191 ououtro tipo de dispositivo de exibição é também conectado ao barramento do sistema 121 pormeio de uma interface, tal como uma interface de vídeo 190. Além do monitor, os computa-dores também podem incluir outros dispositivos de saída periféricos tais como alto-falantes197 e impressora 196 que podem ser conectados através de uma interface periférica desaída 190.
O computador 110 pode operar em um ambiente em rede usando conexões lógicaspara um ou mais computadores remotos, tais como um computador remoto 180. O compu-tador remoto 180 pode ser um computador pessoal, um servidor, um roteador, um PC derede, um dispositivo de ponto ou outro nó de rede comum, e tipicamente inclui muitos outodos os elementos descritos acima com relação ao computador 110, embora apenas umdispositivo de armazenamento de memória 181 tenha sido ilustrado na Fig. 1. As conexõeslógicas descritas na Fig. 1 incluem uma rede de área local (LAN) 171 e uma rede de áreaampla (WAN) 173, mas podem também incluir outras redes. Tais ambientes de gestão deredes são comuns em escritórios, redes de computador de grandes empresas, intranets e aInternet.
Quando usado em um ambiente de gestão de redes LAN, o computador 110 é co-nectado à LAN 171 através de uma interface ou adaptador de rede 170. Quando usado emum ambiente de gestão de redes WNA, o computador 110 tipicamente inclui um modem 172ou outros meios para estabelecer comunicações na WAN 173, tais como a Internet. O mo-dem 172, que pode ser interno ou externo, pode ser conectado ao barramento do sistema121 por meio da interface de entrada do usuário 160, ou outro mecanismo apropriado. Emum ambiente em rede, módulos de programa descritos com relação ao computador 110, ouporções do mesmo, podem ser armazenados no dispositivo de armazenamento de memóriaremoto. Por via de exemplo, e não limitação, Fig. 1 ilustra programas de aplicação remotos185 como residindo no dispositivo de memória 181. Será apreciado que as conexões derede mostradas são exemplares e outros meios de estabelecer um vínculo de comunicaçõesentre os computadores podem ser usados.
Fig. 2 pode ser uma ilustração de nível alto dos blocos em um método de transmu-tação de uma interface do usuário. No bloco 200, os objetos que são para serem exibidossão reunidos. Objetos podem ser objeto de controle. Por exemplo, um objeto pode ser umbotão de exibição para ver registros do departamento pessoal que podem fazer parte de ummódulo adicional. Algumas empresas podem usar o módulo do departamento pessoal e ou-tras empresas podem não ter comprado os direitos para usar o módulo de departamentopessoal opcional.
No bloco 210, o método pode revisar as licenças que foram compradas. Por exem-plo, algumas empresas podem ter comprado a licença para o módulo do departamento pes-soai enquanto as outras empresas podem não ter comprado o módulo do departamentopessoal. Esta informação é colhida e armazenada. A informação pode ser armazenada co-mo um arquivo positivo onde os itens a serem exibidos são adicionados à lista positiva. Emoutra modalidade, a informação pode ser armazenada em um arquivo negativo onde os ob-jetos a não ser exibidos são armazenados. Em ainda outra modalidade, uma lista negativa euma lista positiva podem ser usadas.
No bloco 220, os objetos de exibição e a informação de licença são passados paraum programa de transmutação. O programa de transmutação pode levar a informação delicença e determinar os objetos que deveriam ser exibidos e os objetos que não deveriamser exibidos com base nos dados de licença recebidos. O programa de transmutação podedepois rearranjar os objetos que ainda são para serem exibidos em um arranjo lógico deforma que a exibição pareça apropriada. Por exemplo, se alguns objetos não são para se-rem exibidos e estes objetos normalmente ocupam o lado esquerdo de uma barra de tarefa,a exibição pode parecer inclinada para um lado a menos que alguns dos itens a serem exi-bidos sejam movidos até mesmo para fora da barra de tarefa.
Fig. 3 pode ser um diagrama mais detalhado de blocos de um método de acordocom as reivindicações. No bloco 300, objetos de base são colhidos. Os objetos podem sercolhidos de um programa de exibição tal como Navision da Microsoft. No bloco 310, objetosadicionais podem ser adicionados. Os objetos adicionais podem ser características novasque foram desenvolvidas tais como novos objetos relacionados à ajuda, etc. No bloco 320,os objetos de base do bloco 300 e os objetos adicionais do bloco 310 podem ser combina-dos de modo que todos os possíveis objetos que podem ser exibidos estejam em um únicoarquivo.
No bloco 330, informação de licença pode ser colhida. As licenças podem não seruma licença física mas uma lista de grânulos de aplicação a ser incluída na aplicação exibi-da. Outros grânulos de programa que necessariamente não tem uma licença associada aeles podem ser incluídos. Grânulos podem ser pensados como partes de programa que adi-cionam funcionalidade adicional a um programa de base como um módulo de departamentopessoal ser adicionado em cima de um programa de base da Razão Geral.
No bloco 340, uma lista de exceções pode ser obtida. A lista de exceções pode in-cluir todo o campo e outros controles que o algoritmo de transmutação não pode identificarou controles que não são necessários porque a característica ou objeto não serão expostos.
No bloco 350, uma ferramenta de transmutação pode ser executada. A ferramentade transmutação pode ser uma adição a um programa de exibição tradicional tal como Navi-sion da Microsoft. Com base nas licenças disponíveis do bloco 330, uma lista de camposque não são relevantes mas imóveis dentro da licença é derivada. Junto, com a lista de ex-ceções para quais controles extras deveriam ser ocultados, as versões geradas de aplica-ção de transmutação de formas onde os campos que não são relevantes foram removidas.
No bloco 360, a ferramenta de transmutação pode produzir um conjunto de objetostransmutados para formas. Estes objetos podem ser incluídos na próxima construção dosoftware ou eles podem ser simplesmente usados em vez das formas originais no tempo deexecução. Os objetos transmutados podem ser armazenados em uma base de dados ou osobjetos transmutados podem ser armazenados como objetos novos. No bloco 370, a ferra-menta de transmutação pode produzir uma lista positiva de campos que enumeram todos oscampos que são visíveis como uma lista positiva. A ferramenta pode também produzir umalista de campos que são ocultados como uma lista negativa. O negativo pode também indi-car por que os campos são ocultados tal como uma licença não está disponível, uma exce-ção ocorreu, etc. Entradas de amostra na lista podem incluir o número de forma, um númerode controle, um tipo de controle (tal como caixa de texto, botão de menu, campo de entrada,etc.).
Fig. 4 pode ser ainda outra ilustração mais detalhada do método de acordo com asreivindicações. No bloco 400, o método pode iniciar uma ferramenta de teste de licença. Aferramenta de teste de licença pode assegurar que a licença seja configurada corretamentemediante simulação das permissões de modo que um usuário pode ver o efeito nas formas.A importação dos dados de teste pode ocorrer sem conhecimento do usuário. Grânulos deprograma 405 podem também alimentar à ferramenta de teste de licença 400 como os da-dos de licença 410 o faz. Os dados de licença 410 podem importar uma definição de licençaa ser usada como a base para a permissão de transmutação. Após estes dados serem im-portados, os registros de permissões do usuário podem ser configurados para um usuárioespecífico. Um arquivo de licença de amostra pode ser como segue:
O formato do arquivo é (CSV - separado por ponto-e-vírgula):
<table>table see original document page 8</column></row><table>
Um arquivo separado por vírgula é um formatado com ponto-e-vírgula ou vírgulacomo separador entre os valores. Cada linha consiste em valores para um registro e linhassão separadas com avanço de linha de retorno do cursor. Um arquivo de CSV pode ser fa-cilmente exportado e importado em Excel para manipulação. No bloco 415, o método podeimportar exceções. As exceções podem ser exceções de controle 417 e exceções de menu419. As exceções podem ser armazenadas como um arquivo de valor separado por vírgula(CSV) e pode ser da forma:
Número de forma (número inteiro); x; x; x; Número_de_Controle (número inteiro); x;x; x; Oculto (sim/) onde os "x" forem ignorados mas pode ter informação útil para o usuário.
No bloco 420, o arquivo STX pode ser importado de modo que a palavra chave noArquivo de Terminologia do Sistema ("STX") possa ser identificada e usada em situações demulti-linguagem. O arquivo STX pode ser um arquivo que contém as constantes de textonecessárias para o sistema operar independente da linguagem. Ele pode conter definiçãopara sim, não e nomes de campo para tabelas de sistema. A ferramenta de transmutaçãoapenas usa objetos e propriedades de objeto, assim pode não haver outros requerimentosde multi-linguagem que os pedaços a seguir:
<table>table see original document page 9</column></row><table>
No bloco 430, os metadados são extraídos para controles tais como páginas e co-lunas. A fim de que o método para mover os controles descubra para onde mover os contro-es1 ele necessita saber onde os controles estão localizados. Conseqüentemente, a exibiçãoestá quebrada em colunas e fileiras. Fig. 5 pode ser uma ilustração de um tal desarranjo.Por exemplo, o objeto de entrada "No" 500 pode estar na primeira fileira na primeira coluna.Além disso, a primeira fileira, primeira coluna pode conter quatro objetos: A marcação para"No." 505, a caixa de texto para No. 510, o mapa de bit para comentários (a ilustração delápis) 515; e o próprio botão de comentário 520. Deveria ser observado que o botão de edi-tar de ajuda 525 faz parte do controle da caixa de texto e não um objeto separado. Se oscontroles se sobrepõem, o método pode detectar esta situação e se abster de mover os con-troles.
A fim de que o algoritmo estabeleça se um controle dado está dentro da licença,pode ser necessário encontrar que objetos estão usando um controle e depois determinar setodos os objetos estão dentro da licença. A análise pode ter três etapas. Primeiro, uma tabe-la pode ser criada para relações entre controles e campos. Segundo, uma tabela pode serfeita para relações entre campos e objetos. Por fim, uma tabela pode ser feita para relaçõesentre controle e outros objetos. O método pode analisar a relação entre qualquer controlenas formas para tabelas e se um controle apenas acessa uma tabela que o usuário não tempermissão, depois o analisador de código remove o controle. Podem ser usados metadadospara indicar que objetos devem ou não ser incluídos.Encontrar os controles que são manipulados pode consistir na descoberta de todo ocódigo dentro da forma atual que altera as propriedades da forma no tempo de execução,isto é, código que contém a forma corrente.* ou RequestOptionsForm.* seguido por"."";" ououtro separador de código tal como um espaço em branco. O método pode depois examinarse o fragmento de texto * é um nome de controle válido para a forma. Todos os controlesque são manipulados podem ser listados em uma tabela com o tipo de objeto, número deobjeto, número de controle e nome do controle. Manipulação dos controles pode tambémser obtida usando metadados que estão tendo propriedades nos controles que são avalia-dos no tempo de execução e depois estas propriedades são usadas para controlar a apa-rência dos controles. Encontrar os controles manipulados pode depois consistir na desco-berta dos controles com metadados do tipo que leva às alterações no tempo de execuçãoda aparência.
Em seguida, o método pode ocultar controles que não são relevantes ou que têmexceções. Controles restantes mais relevantes podem depois ser movidos na forma. Contro-les-filhos de pais que são ocultos podem também ser ocultados. Os controles ocultados de-veriam ser listados em uma tabela separada. Se um campo tem uma relação múltipla entãoos controles para aquele campo podem ser ocultados se todas as relações forem irrelevantes.
No bloco 450, o método pode remover os controles que são ocultados. Os controlespodem ser ocultados se eles não forem manipulados e não marcados para ser ocultadosapenas na lista de exceção. Se o controle a ser deletado for um caixa de texto, imagem,figura, controle Booleano ou outro que possa ter um controle-filho, aquele controle-filho tam-bém pode ser deletado.
Relacionado, um controle tal como uma página de aba não contendo nenhum con-trole ativo pode ser deletado. Uma página de aba pode ser um controle que abre uma pági-na nova se selecionada. Controles que estão em uma página de aba devem ser movidosantes da página de aba poderem ser deletadas portanto os controles que estão ocultos napágina de aba devem ser movidos para outra página de aba antes da página de aba poderser deletada. O método pode excluir abas vazias e controles de movimento que estão ocul-tos mas não deletados na primeira aba disponível.
O método pode desabilitar ou excluir itens do menu que não são relevantes. Se oitem do menu tiver relações apenas aos objetos que estão fora da licença então o item domenu pode ser deletado/ocultado. Similarmente, os menus que não são relevantes podemser desabilitados ou deletados. Quando todos os itens do menu dentro de um menu, diferen-te dos separadores, foram inválidos ou deletados então o menu parecerá estar sem qual-quer função pra o usuário e deve depois ser deletado. Outros menus podem ser movidospara a direção de suas propriedades, como uma propriedade de colar vertical, de modo queo espaço entre menus é mantido.
No bloco 460, objetos novos podem ser criados. As partes principais do processode construção podem ser para obter os objetos de base, obter os objetos de transmutação,importar os objetos em uma base de dados recentemente criada, executar o gerenciador detransmutação que importa todos os arquivos necessários tais como licença e grânulos egera/formas transmutadas, exporta objetos transmutados como texto e opera um processode construção com os objetos transmutados.
Dados de teste 470 podem também ser criados para assegurar que o método este-ja funcionando corretamente e para documentar as alterações feitas pelo método. Os dadospodem ser exportados para os campos ocultados na forma a seguir:
No. da forma; Nome da página; No de controle; Legenda de controle, tipo (me-nu/texto/figura/...); Acesso de licença (Permissões de acordo com a licença e grânulos.Sim/Não); Lista de exceção (Permissões de acordo com a lista de exceção. Sim/Não)
Exemplo:
30;Geral;8; "Conta de Materiais"; Caixa de Verificação;Sim;Sim
O exemplo ilustra que a Caixa de Verificação da Conta de Materiais deveria ser re-movida porque não há nenhum acesso através do campo dentro da licença. O segundo Simtambém diz que há também uma exceção dizendo que este controle deveria ser deletado. OControle é colocado na primeira página de aba.
Quebra de coluna:
Um Iog pode também ser mantido das situações onde os controles não puderamser movidos por causa de sobreposição ou onde as definições de coluna estão quebradas.A lista é uma lista de controles (CSV separado por ponto-e-vírgula) que leva as definiçõesde Colunas quebrarem.
No de forma, No de controle
O método pode também manter trilha das diferenças entre as formas bases etransmutadas. Desse modo, melhorias podem ser rastreadas para o método de transmuta-ção. Em uma modalidade, se as formas forem armazenadas como arquivos XML, dif deXML é usado para comparar as formas de transmutadas de versões diferentes.
Os campos que foram transmutados das formas devem também ser transmutadosdos campos de filtro das formas de solicitação de relatórios. O processo anterior paratransmutação gerou uma tabela com a forma, no de controle, no de Tabela e no de campo eNome de campo. Este tabela pode ser usada para remover os campos de filtro de solicita-ção também. A tabela pode conter tanto os campos encontrados para verificação de licençacomo as exceções manuais importadas. Se qualquer tiver um controle removido com umcampo de uma tabela este campo não deveria aparecer em qualquer campo de filtro de soli-citação de relatórios também.O usuário ainda pode ser capaz de adicionar o campo ou outros campos aos cam-pos de filtro de solicitação porque os campos não são deletados da base de dados. O pro-pósito da característica é apenas assegurar que nenhum relatório mostrará os campostransmutados na lista de filtros por predefinição.
Na implementação, os controles para ser transmutados podem ser lidos de um ar-quivo CSV. Estes controles podem ser removidos da forma de opção da mesma maneiraque os controles nas formas normais. Os controles manipulados apenas devem ser oculta-dos exatamente como nas formas normais e não devem ser deletados visto que isto gerariaerros de compilação.
A forma de opção deve ser rearranjada da mesma maneira que as formas normaispara evitar "orifícios" e seguir as linhas de guia para projeto das formas. Se a forma Opçãoficar vazia (nenhum controle deixado), então a forma opção desaparece automaticamente.Isto significa que se algum controle for ajustado para não visível porque ele é manipuladoem código, a Forma Opção pode acabar vazia sem controles visíveis.
Em uma modalidade, o método é usado com Navision da Microsoft Corporation.
Navision ajuda as companhias a integrar financeiro, fabricação, distribuição, gerenciamentode relação de clientes, e dados de comércio eletrônico. Referindo novamente à Fig. 3, o ob-jeto base 300 pode ser objetos de Navision. Objetos adicionais 310 podem ser objetos adi-cionais desenvolvidos por uma equipe de característica, ou terceiros especificamente paraNavision. Os objetos base 300 e os objetos adicionais 310 podem ser combinados e podemse tornar os objetos base para transmutação 320. No bloco 330, definições de licença po-dem ser armazenadas. A definição de licença pode não ser uma licença física normal maspode ser uma lista de grânulos de aplicação a ser incluída com a aplicação de Navision. Adefinição de licença pode não necessitar incluir grânulos de sistema tais como um desenhis-ta de formas mas pode incluir uma lista de grânulos e as permissões que estes grânuloscontêm. No bloco 340, exceções podem ser armazenadas que podem ser todos os campose outros controles que o algoritmo de transmutação não pode identificar ou controles quenão são necessários porque a característica pode não ser exposta. Bloco 350 pode ser o Kitde Ferramentas dos Desenvolvedores da Navision com funcionalidade de transmutação.
Usando os dados de licença de bloco 330, uma lista de campos que não são relevantes masimóveis dentro da licença pode ser derivada. Junto com a lista de exceções para quais con-troles extras a ocultar, o programa de transmutação gera versões de formas onde os cam-pos que não são relevantes foram removidos. No bloco 360, a saída da ferramenta detransmutação pode ser um conjunto de objetos transmutados para formas e pode ser incluí-da na construção diária. No bloco 370, uma lista positiva e uma lista negativa de campospodem ser criadas para ser exibidas por Navision.
Na aplicação, o cliente de Navision e o Kit de Ferramentas de Desenvolvimento da

Claims (20)

1. Método de transmutar uma interface do usuário com base em permissões,CARACTERIZADO pelo fato de que compreende:criar formas de exibição para exibir uma pluralidade de objetos 200;usar os objetos para obter permissões para exibir os objetos individuais 210;se a permissão for recebida para um primeiro objeto a ser exibido, adicionar o pri-meiro objeto a uma lista de objetos a serem exibidos 220;se a permissão não for recebida para um primeiro objeto a ser exibido, abster-se deadicionar o primeiro objeto a uma lista de objetos a serem exibidos 220; ecriar uma forma de exibição transmutada que exibe os objetos na lista de objetos aserem exibidos 230.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que oobjeto é um objeto de controle 200.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que oobjeto tem metadados e as permissões são armazenadas nos metadados 430.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende extrair os metadados do objeto 430.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que aextração dos metadados adicionalmente compreende ligar campos a outras tabelas e for-mas relacionadas de modo que a informação de licença que especifica quais tabelas umusuário tem acesso pode ser usada para encontrar as formas e campos que um usuário nãodeveria ter acesso 430.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende usar um analisador de código para analisar a relação entrequaisquer controles nas formas para tabelas e se um controle apenas acessar uma tabelaque o usuário não tem permissão, então o analisador de código remove o controle 450.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende determinar se uma licença está disponível para um segundoobjeto e se a licença para o segundo objeto estiver disponível, adicionar o segundo objeto àlista de objetos a serem exibidos 330.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende criar as formas no tempo de execução 360.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende criar uma pluralidade de formas e com base nas permissões,exibir uma da pluralidade de formas 360.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queadicionalmente compreende analisar o código para determinar se um objeto usa uma tabelana qual uma licença não está presente, e se uma licença não estiver presente, eliminar oobjeto 330.
11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de queo método adicionalmente carrega em grânulos de programa, analisa se os objetos nos grâ-nulos são necessários e gera formas transmutadas 330.
12. Meio legível por computador que armazena código executável por computadorpara transmutar uma interface do usuário com base nas permissões, CARACTERIZADOpelo fato de que compreende:código executável por computador que cria formas de exibição para exibir uma plu-ralidade de objetos 200 onde o objeto tem metadados 430 e as permissões são armazena-das nos metadados 430;código executável por computador que usa os objetos para obter permissões paraexibir os objetos individuais 210;se a permissão for recebida para um primeiro objeto a ser exibido, o código execu-tável por computador adiciona o primeiro objeto a uma lista de objetos a serem exibidos 220;se a permissão não for recebida para um primeiro objeto a ser exibido, o código e-xecutável por computador se abstém de adicionar o primeiro objeto a uma lista de objetosser exibido 220; ecódigo executável por computador que cria uma forma de exibição transmutada queexibe os objetos na lista de objetos a serem exibidos 230.
13. Meio legível por computador, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que adicionalmente compreende código executável porcomputador para extrair os metadados do objeto 430.
14. Meio legível por computador, de acordo com a reivindicação 13,CARACTERIZADO pelo fato de que o código executável por computador para extrair osmetadados 430 adicionalmente compreende código executável por computador que liga oscampos a outras tabelas e formas relacionadas de modo que a informação de licença queespecifica que tabelas que um usuário tem acesso pode ser usada para encontrar as formase campos que um usuário não deveria ter acesso.
15. Meio legível por computador, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que adicionalmente compreende código executável porcomputador para analisar a relação entre quaisquer controles nas formas para tabelas e seum controle apenas acessar uma tabela que o usuário não tem permissão, então remove ocontrole 450.
16. Meio executável por computador, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que adicionalmente compreende código executável porcomputador que determina se uma licença está disponível para um segundo objeto e se alicença para o segundo objeto estiver disponível, adiciona o segundo objeto à lista de obje-tos a serem exibidos.
17. Sistema de computador, CARACTERIZADO pelo fato de que compreendeum processador 120,uma memória 130 eum dispositivo de entrada/saída 133,o processador 120 sendo capaz de executar instruções executáveis por computa-dor ea memória 130 sendo capaz de armazenar instruções executáveis por computador;o processador 120 sendo programado para executar código executável por compu-tador que cria formas de exibição para exibir uma pluralidade de objetos onde o objeto temmetadados e as permissões são armazenadas nos metadados;o processador 120 sendo programado para executar código executável por compu-tador que usa os objetos para obter permissões para exibir os objetos individuais 210;se a permissão for recebida para um primeiro objeto a ser exibido, o processador120 sendo programado para executar código executável por computador adiciona o primeiroobjeto a uma lista de objetos a serem exibidos 210;se a permissão não for recebida para um primeiro objeto a ser exibido, o processa-dor 120 sendo programado para executar código executável por computador se abstém deadicionar o primeiro objeto a uma lista de objetos a serem exibidos 220; eo processador 120 sendo programado para executar código executável por compu-tador que cria uma forma de exibição transmutada que exibe os objetos na lista de objetos aserem exibidos 230.
18. Computador, de acordo com a reivindicação 17, o código executável por com-putador para extrair os metadados do objeto em que o processador sendo programado paraexecutar código executável por computador para extrair os metadados 430,CARACTERIZADO pelo fato de que adicionalmente compreende:o processador 120 sendo programado para executar código executável por compu-tador que liga os campos a outras tabelas e formas relacionadas de modo que a informaçãode licença que especifica quais tabelas que um usuário tem acesso pode ser usada paraencontrar as formas e campos que um usuário não deveria ter acesso 430.
19. Computador, de acordo com a reivindicação 17, CARACTERIZADO pelo fatode que adicionalmente compreende o processador 120 sendo programado para executarcódigo executável por computador para analisar a relação entre quaisquer controles nasformas para tabelas e se um controle apenas acessar uma tabela que o usuário não tempermissão, então remove o controle 450.
20. Computador, de acordo com a reivindicação 17, CARACTERIZADO pelo fatode que adicionalmente compreende o processador 120 sendo programado para executarcódigo executável por computador que determina se uma licença está disponível para umsegundo objeto e se a licença para o segundo objeto estiver disponível, adiciona o segundoobjeto à lista de objetos a serem exibidos 335.
BRPI0709017-0A 2006-04-07 2007-01-29 transmutação de interface do usuário com base em permissões BRPI0709017A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/400,513 2006-04-07
US11/400,513 US20070239653A1 (en) 2006-04-07 2006-04-07 User interface morph based on permissions
PCT/US2007/002659 WO2007117349A1 (en) 2006-04-07 2007-01-29 User interface morph based on permissions

Publications (1)

Publication Number Publication Date
BRPI0709017A2 true BRPI0709017A2 (pt) 2011-06-21

Family

ID=38576691

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0709017-0A BRPI0709017A2 (pt) 2006-04-07 2007-01-29 transmutação de interface do usuário com base em permissões

Country Status (7)

Country Link
US (1) US20070239653A1 (pt)
EP (1) EP2013697A4 (pt)
KR (1) KR20080109828A (pt)
CN (1) CN101416143A (pt)
BR (1) BRPI0709017A2 (pt)
RU (1) RU2008139610A (pt)
WO (1) WO2007117349A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332746B2 (en) * 2008-06-26 2012-12-11 Microsoft Corporation Transformation of physical and logical layout forms to logical layout pages
US10169599B2 (en) * 2009-08-26 2019-01-01 International Business Machines Corporation Data access control with flexible data disclosure
US9224007B2 (en) * 2009-09-15 2015-12-29 International Business Machines Corporation Search engine with privacy protection
US8839186B2 (en) * 2009-11-05 2014-09-16 Sap Ag Entity morphing in metamodel-based tools
US9600134B2 (en) 2009-12-29 2017-03-21 International Business Machines Corporation Selecting portions of computer-accessible documents for post-selection processing
US20110202384A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise Rendering Platform
US9195853B2 (en) 2012-01-15 2015-11-24 International Business Machines Corporation Automated document redaction
US9892278B2 (en) 2012-11-14 2018-02-13 International Business Machines Corporation Focused personal identifying information redaction
WO2014142830A1 (en) * 2013-03-13 2014-09-18 Unify Gmbh & Co. Kg Method, device, and system for communicating a changeability attribute
US8955148B1 (en) 2013-10-18 2015-02-10 GB & Smith SARL Matrix security management system for managing user accounts and security settings
CN110187934B (zh) * 2019-05-29 2022-06-28 柴森森 应用控制方法、终端及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381526A (en) * 1992-09-11 1995-01-10 Eastman Kodak Company Method and apparatus for storing and retrieving generalized image data
US5812995A (en) * 1993-10-14 1998-09-22 Matsushita Electric Industrial Co., Ltd. Electronic document filing system for registering and retrieving a plurality of documents
US6029145A (en) * 1997-01-06 2000-02-22 Isogon Corporation Software license verification process and apparatus
US6539388B1 (en) * 1997-10-22 2003-03-25 Kabushika Kaisha Toshiba Object-oriented data storage and retrieval system using index table
US6509913B2 (en) * 1998-04-30 2003-01-21 Openwave Systems Inc. Configurable man-machine interface
US6697824B1 (en) * 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US7080037B2 (en) * 1999-09-28 2006-07-18 Chameleon Network Inc. Portable electronic authorization system and method
US6985955B2 (en) * 2001-01-29 2006-01-10 International Business Machines Corporation System and method for provisioning resources to users based on roles, organizational information, attributes and third-party information or authorizations
US20050091191A1 (en) * 2003-09-24 2005-04-28 Greg Miller System and method for managing and utilizing information
US20050240857A1 (en) 2004-04-02 2005-10-27 Jason Benedict Methods and systems of information portal construction

Also Published As

Publication number Publication date
EP2013697A1 (en) 2009-01-14
CN101416143A (zh) 2009-04-22
EP2013697A4 (en) 2011-01-26
KR20080109828A (ko) 2008-12-17
RU2008139610A (ru) 2010-04-20
US20070239653A1 (en) 2007-10-11
WO2007117349A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
BRPI0709017A2 (pt) transmutação de interface do usuário com base em permissões
US11609973B2 (en) Integration services systems, methods and computer program products for ECM-independent ETL tools
US7865873B1 (en) Browser-based system and method for defining and manipulating expressions
Capriolo et al. Programming Hive: Data warehouse and query language for Hadoop
US9594778B1 (en) Dynamic content systems and methods
Hargreaves et al. An automated timeline reconstruction approach for digital forensic investigations
US7836100B2 (en) Calculating and storing data structures including using calculated columns associated with a database system
US20090178019A1 (en) System and Method for Multi-Level Security Filtering of Model Representations
US20060005067A1 (en) Systems, devices, and methods for generating and processing application test data
Grier Detecting data theft using stochastic forensics
Ding et al. Time based data forensic and cross-reference analysis
US20110265058A1 (en) Embeddable project data
US9069884B2 (en) Processing special attributes within a file
Morris Relational database design and implementation for biodiversity informatics
Šestak et al. Integrity constraints in graph databases-implementation challenges
AT&T
Carbone et al. Generating computer forensic super-timelines under Linux
Heon et al. Program similarity detection with checksims
Gladyshev et al. Rigorous development of automated inconsistency checks for digital evidence using the B method
Lakshmi et al. Text Mining of Unstructured Data Using R
Ferreira Database Preservation Toolkit: A relational database conversion and normalization tool
Hauger Forensic attribution challenges during forensic examinations of databases
Chandrasekaran et al. Inferring sources of leaks in document management systems
Raza Test data extraction and comparison with test data generation
Carbone et al. Generating Computer Forensic Super-Timelines under Linux: A Comprehensive Guide for Windows-Based Disk Images

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]