Como criar arquivos WDGT para saídas SWF e HTML5 no Adobe Captivate

O arquivo de WDGT é um arquivo com a extensão de .wdgt que contém:

  • Arquivos SWF com links para outros arquivos ou recursos SWF

  • Versão HTML do widget

  • Arquivo description.xml que contém informações sobre links

Arquivos HTML são necessários para as saídas HTML5. Se desejar gerar apenas arquivos de saída SWF para os projetos do Adobe Captivate, o arquivo de WDGT não precisa conter arquivos HTML.

Criar arquivos WDGT apenas para saídas SWF

Um arquivo WDGT para saídas SWF deve conter o seguinte:

  • swf (diretório): contém o arquivo de saída SWF do widget e outros recursos vinculados.

  • description.xml (arquivo): contém informações sobre as versões de SWF e HTML do widget que o Adobe Captivate pode usar para publicar e exibir o widget para os usuários.

  1. Crie um diretório novo e nomeie-o conforme necessário, por exemplo,meuwidget. Em seguida, crie um subdiretório: swf.

  2. Publique o FLA como um arquivo SWF no Flash. Coloque o arquivo SWF no diretório swf.

  3. Crie um arquivo description.xml. Se o arquivo SWF principal (ABC.swf) usar dois arquivos vinculados (PQR.swf e XYZ.swf), o arquivo description.xml estará no seguinte formato:

    <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?> <widget> <Description>This is a ABC widget(static)</Description> <Type>isStatic</Type> <Name>ABC.swf</Name> <linkedfiles>PQR.swf</linkedfiles> <linkedfiles>XYZ.swf</linkedfiles> </widget>
  4. Coloque o arquivo description.xml no diretório raiz, que é o diretório meuwidget nesse caso.

  5. Compacte o diretório raiz (meuwidget) e mude a extensão do arquivo para .wdgt.

  6. Coloque o arquivo .wdgt em <diretório de instalação do Adobe Captivate>/Gallery/Widgets.

Criar arquivos WDGT para saídas SWF e HTML5

Um arquivo WDGT para saídas SWF e HTML5 deve conter os seguintes arquivos e diretórios:

  • swf (diretório): contém o arquivo de saída SWF do widget e outros recursos vinculados.

  • html5 (diretório): contém os ativos e scripts relacionados ao widget criado em HTML e JavaScript. Esta é a estrutura de diretório típica:

    • imagens (diretório)

    • scripts (diretório)

    • xyz_oam.xml (arquivo)

    O diretório html5 pode conter outros diretórios de ativos, como os de temas. Você precisa criar o arquivo xml de metadados openAJAX (xyz_oam.xml) para armazenar todas as informações do widget, como scripts e ativos.

  • description.xml (arquivo): contém informações sobre as versões de SWF e HTML do widget que o Adobe Captivate pode usar para publicar e exibir o widget para os usuários.

  1. Crie um diretório novo e nomeie-o conforme necessário, por exemplo,meuwidgethtml. Em seguida, crie os seguintes subdiretórios:

    • swf

    • html5

  2. Publique o FLA como um arquivo SWF no Flash. Coloque o arquivo SWF no diretório swf.

  3. Crie o widget usando HTML e JavaScript.

  4. Coloque todos os ativos e scripts no diretório html5.

  5. Crie um arquivo XML de metadados OpenAjax que armazene todas as informações relevantes do widget, como scripts e bibliotecas JavaScript.

    Veja um exemplo:

    <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> 
    <!-- 
     
            Especificação de Widget do OpenAjax --> <widget name=&quot;Arrow&quot; id=&quot;com.adobe.captivate.dev.sample.widgets.arrow&quot; spec=&quot;0.1b&quot; jsClass='Arrow' sandbox='true' width='300' height='300' xmlns=&quot;http://openajax.org/metadata&quot;> <requires> <libraries> <library name=&quot;dojo&quot; version=&quot;1.7&quot; copy=&quot;true&quot; src=&quot;js/dojo-release-1.7.1&quot; includeRef=&quot;false&quot;> <preload> djConfig=&quot;{parseOnLoad:true}&quot; </preload> <require type=&quot;javascript&quot; src=&quot;dojo/dojo.js&quot; copy=&quot;false&quot; includeRef=&quot;true&quot;/> </library> <library name =&quot;jQuery&quot; version=&quot;1.6.1&quot; copy=&quot;true&quot; src=&quot;js/jquery1.7.1/jquery-1.7.1.min.js&quot; type=&quot;javascript&quot;/> <library name=&quot;jQuery.svg&quot; version=&quot;1.4.4&quot; copy=&quot;false&quot; src=&quot;js/jquery.svg&quot; includeRef=&quot;false&quot;> <require type=&quot;javascript&quot; src=&quot;jquery.svg.js&quot;/> <require type=&quot;css&quot; src=&quot;jquery.svg.css&quot;/> </library> </libraries> <require type=&quot;folder&quot; src=&quot;assets/svg&quot;/> </requires> <javascript src=&quot;js/arrow.js&quot;/> 
        <!-- 
     
            As propriedades são ignoradas pelo Captivate pois nós esperamos o widget fazer todo o trabalho que precisa ser feito do widget xml ou do widget JSON. Ainda assim, damos um stab para ser se conseguimos uma substituição apropriada --> <properties> <property name=&quot;style&quot; datatype=&quot;String&quot; default=&quot;AeroArrow&quot;/> </properties> <content type='fragment'> 
        <![CDATA[ <H1>Hello Widget!!!</H1> 
            <div ID=&quot;__WID
    ArrowShape&quot;/> 
        ]]> 
        </content> 
    </widget>
  6. Abra o javascript correspondente ao valor especificado para o atributo jsClass no arquivo XML de metadados. Por exemplo, se o valor de jsClass for Arrow, abra o arquivo arrow.js no diretório scripts.

  7. Verifique se o arquivo arrow.js inclui a função onLoad() que chama a função getMovieProps(). Veja um exemplo:

    arrow1 = { onLoad: function() { if ( ! this.captivate ){ return; } //Dá acesso ao filme handle this.movieProps = this.captivate.CPMovieHandle; //Dá acesso ao widget params this.movieProps = this.captivate.CPMovieHandle.widgetParams(); //Função para substituir//uma variável Captivate pelos valores associados this.movieProps = this.captivate.CPMovieHandle.replaceVariables(varString); //Acesso ao envio do sistema onde addEventListener e //removeEventListener podem ser chamados. Também contém as constantes //necessárias para registro de eventos como//<Widget>.captivate. CPMovieHandle.getMovieProps().eventDispatcher //.SLIDE_ENTER_EVENT this.movieProps = this.captivate.CPMovieHandle.getMovieProps().eventDispatcher; //Access to the variables handle this.movieProps = this.captivate.CPMovieHandle.getMovieProps().variablesHandle; //Access to the external resource loader this.movieProps = this.captivate.CPMovieHandle.getMovieProps().ExternalResourceLoader); if ( ! this.movieProps ){ return; } this.varHandle = this.movieProps.variablesHandle; this.eventDisp = this.movieProps.eventDispatcher; // other code }; //To unload your widget onUnload: function() { /*Unload your widget here*/ }; } // Ensure that there is a constructor function // available for the JavaScript class identified by // the 'jsClass' attribute. O construtor não tem nenhum argumento. 
    arrow = function () { return arrow1; 
    }

    Observação:

    • Não registre diretamente manipuladores de eventos onload do navegador (por exemplo, window.addEventListener('load',myCallback,0); para tornar o widget portátil em muitas situações, incluindo as situações dinâmicas de tempo de execução, onde o widget pode ser adicionado ao documento após a ocorrência do evento "load" do navegador.

      Em vez disso, os widgets devem depender do retorno de chamada onLoad definido nessa especificação para notificar que o widget terminou de ser carregado e está pronto para renderização.

    • Não registre diretamente manipuladores de eventos onunload do navegador (por exemplo, window.addEventListener('unload',myCallback,0); para tornar o widget portátil em muitas situações, incluindo as situações dinâmicas de tempo de execução, onde o widget pode ser removido do documento muito antes de a página ser descarregada.

      Em vez disso, os widgets devem depender do retorno de chamada onUnload definido nessa especificação para notificar que o widget está sendo removido da página.

    Para obter informações sobre getMovieProps(), consulte Métodos e propriedades.

  8. Coloque o arquivo XML de metadados OpenAjax no diretório html5.

  9. Crie o arquivo description.xml.

    Para obter informações sobre o esquema para o arquivo description.xml, consulte Esquema do arquivo description.xml.

  10. Coloque o arquivo description.xml no diretório raiz (meuwidgethtml nesse caso).

  11. Compacte o diretório raiz (meuwidgethtml) e mude a extensão do arquivo para .wdgt.

  12. Coloque o arquivo .wdgt em <diretório de instalação do Adobe Captivate>/Gallery/Widgets.

Amostra de arquivo description.xml

Se o arquivo SWF principal é ABC.swf e o arquivo XML OpenAJAX que você criou é XYZ_oam.xml, o arquivo description.xml é:

<?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?> 
<!-- especificação do cabeçalho do widget - compulsório necessário. se não estiver presente, será tratado como spec 1 que não suporta a versão de html5 etc. - tipo de número - tipo de widget --> <widget spec=&quot;2&quot; name=&quot;Certificate&quot; description=&quot;This is a test for Process Tabs&quot; uri=&quot;www.mycomapny.com&quot; version=&quot;1.0&quot; type=&quot;static&quot;> 
    <!-- Cabeçalho de autores - pode conter vários autores --> <authors> 
    <!-- Cabeçalho de criação - informações do autor serve para exibir habilidades como eu sou um desenvolvedor interessante de widget. entre em contato para widgets personalizados--> <author name=&quot;Dominique Skyler&quot; email=&quot;dominique@mycomapny.com&quot; organization=&quot;MyCompany&quot; uri=&quot;www.mycompany.com&quot;> <about>Widget Developer</about> </author> </authors> 
    <!-- info de licença - info do autor --> <license name=&quot;CC&quot; description=&quot;Creative Commons License&quot; text=&quot;Sinta-se livre para usar&quot; uri=&quot;http://creativecommons.org/licenses/by/3.0/&quot;/> 
     
    <!-- Os diferentes formatos de saída suportados por cada formato tem um diretório nos caminhos de arquivo de wgt pode fazer referência a outros formatos utilizando.. rotação --> <formats> 
        <!-- download do formato swf de saída --> <format type=&quot;swf&quot;> <content source=&quot;ABC.swf&quot;/> </format> 
        <!-- para saída html5 --> <format type=&quot;html5&quot;> 
            <!-- referência ao arquivo de oam --> <content source=&quot;XYZ.xml&quot;/> </format> </formats> </widget>

Esquema do arquivo description.xml

widget

<widget> é o elemento raiz que define um único widget e inclui os seguintes elementos filho:

  • authors

  • license

  • formats

O elemento <widget> inclui os seguintes atributos:

Atributo

Descrição

Tipo

Obrigatório

Valor

spec

Exibe a especificação na qual o XML é baseado. O valor padrão "2" indica que o arquivo XML inclui informações sobre a versão HTML do widget.

Número inteiro positivo

Sim

2

name

Nome do widget.

Cadeia de caracteres

Não

ND

description

Descrição do widget.

Cadeia de caracteres

Não

ND

uri

URL do site necessário, por exemplo, o site da empresa.

Cadeia de caracteres

Não

ND

version

Versão do widget.

Número inteiro positivo

Não

ND

type

O tipo do widget: estático ou interativo.

Cadeia de caracteres

Sim

  • static

  • interactive

authors

<authors> é o elemento filho do elemento <widget> e inclui os seguintes atributos:

Atributo

Descrição

Tipo

Obrigatório

Padrão

name

Nome do desenvolvedor ou autor do widget.

Cadeia de caracteres

Não

ND

email

ID de e-mail do desenvolvedor ou autor do widget.

Cadeia de caracteres

Não

ND

organization

Nome da organização do desenvolvedor ou autor do widget.

Cadeia de caracteres

Não

ND

uri

URL do site da organização ou qualquer outro site que o autor queira mencionar.

Cadeia de caracteres

Não

ND

Observação:

Todos esses atributos são ignorados nesta versão do Adobe Captivate.

license

<license> é o elemento filho do elemento <widget> e inclui os seguintes atributos:

Atributo

Descrição

Tipo

Obrigatório

Padrão

name

Um nome curto para a licença do widget.

Cadeia de caracteres

Não

ND

description

Descrição da licença do widget.

Cadeia de caracteres

Não

ND

text

O texto da licença que você deseja exibir com o widget.

Você também pode atribuir licenças para qualquer software de terceiros usado no widget.

Cadeia de caracteres

Não

ND

uri

Link para o site onde os usuários do widget podem encontrar mais informações sobre a licença.

Cadeia de caracteres

Não

ND

Observação:

Todos esses atributos são ignorados nesta versão do Adobe Captivate.

formats e format

<formats> inclui o elemento filho <format> que inclui os nomes das versões de SWF e HTML do widget.

O elemento <format> inclui o seguinte atributo:

Atributo

Descrição

Tipo

Obrigatório

Valor

type

O tipo da origem: SWF ou HTML.

Cadeia de caracteres

Sim

  • swf

  • html5

content

<content> é o elemento filho de <format> e inclui o seguinte atributo:

Atributo

Descrição

Tipo

Obrigatório

Valor

source

Refere-se a saída SWF ou à versão HTML do widget.

Cadeia de caracteres

Sim

Nome do arquivo SWF ou do arquivo XML de metadados da versão em HTML do widget.

Logotipo da Adobe

Fazer logon em sua conta