Alterar modelo de formulário para uma coleção específica

Boa tarde. Além do formulário “traditional” já criamos um modelo específico para um tipo de documento. Ocorre que estamos criando novas coleções, e as mesmas estão utilizando o default. Já tentamos, no input-forms, alterar o default para o modelo alternativo, mas não deu certo. Temos que atualizar algum outro arquivo? Qual seria? A TI do órgão não conhece o dpspace, então tendo a explicação ficará mais fácil.
Ou como alteramos diretamente numa coleção já criada o tipo de formulário?
Versão 6.2

1 curtida

Prezada @Gabi_Oliveira

É preciso adicionar o formulário criado para as coleções específicas. A customização ocorre em dois arquivos no back-end do dspace:

  • Para o DSpace 6.x são os arquivos: item-submission.xml e input-forms.xml

Antes de qualquer alteração sempra realize o backup, principalmente dos arquivos que serão modificados.

  1. No arquivo xml input-forms.xml crie o formulário para a coleção desejada, em <form-definitions> insira o código para o formulário com os rótulos dos metadados que deseja para a coleção (OBS: Verifique na interface se os metadados dublin core que deseja estão criados ou se é preciso adicionar). Abaixo tem-se um exemplo de formulário (nomeformularioparacolecao) com os metadados dublin core dc.publisher.initials e dc.publisher.country.
<form name="nomeformularioparacolecao">
       <row>
            	<field>
                    <dc-schema>dc</dc-schema>
                    <dc-element>publisher</dc-element>
                    <dc-qualifier>initials</dc-qualifier>
                    <repeatable>true</repeatable>
                    <label>Sigla da instituição</label>
                    <input-type>onebox</input-type>
                    <hint>Insira a sigla da instituição.</hint>
                    <required>Campo obrigatório.</required>
                    
                </field>
         </row>
         <row>
                <field>
                    <dc-schema>dc</dc-schema>
                    <dc-element>publisher</dc-element>
                    <dc-qualifier>country</dc-qualifier>
                    <repeatable>false</repeatable>
                    <label>País da instituição</label>
                    <input-type>onebox</input-type>
                    <hint>Insira o nome do país.</hint>
                    <required>Campo obrigatório.</required>
                </field>
            </row>
        </form>
  1. Edite o arquivo xml item-submission.xml para definir a etapa do formulário de submissão em <step-definitions>. Abaixo tem-se um exemplo para o formulário (nomeformularioparacolecao):
<step-definition id="nomeformularioparacolecao" mandatory="true">
            <heading>submit.progressbar.describe.stepone</heading>
            <processing-class>org.dspace.app.rest.submit.step.DescribeStep</processing-class>
            <type>submission-form</type>
</step-definition>
  1. Ainda no arquivo item-submission.xml defina o processo de submissão do formulário em <submission-definitions>. Abaixo tem-se um exemplo para o formulário (nomeformularioparacolecao) e para o nome do processo de submissão que será usado pela coleção (nomedasubmissao):
    Nota: Observe que é possível manter também os formulários padrões de submissão.
<submission-process name="nomedasubmissao">
            <!--Uncommment to display the SAMPLE step as your first step -->
            <!--<step id="sample"/> -->

            <step id="collection"/>

            <!--Step will be to Describe the item. -->
            <step id="traditionalpageone"/>
            <step id="traditionalpagetwo"/>
            <step id="nomeformularioparacolecao"/>

            <!-- Uncomment this step to allow the user to embargo or access restrict the entire item -->
            <!-- <step id="itemAccessConditions"/> -->

            <!-- Uncomment this step to show when appropriate publisher policies retrieved from SHERPA/RoMEO -->
            <!-- <step id="sherpaPolicies"/> -->

            <!--Step will be to Upload the item -->
            <step id="upload"/>

            <!-- <step id="extractionstep"/> -->

            <!-- Uncomment this step to allow the user to select a Creative Commons License -->
            <step id="cclicense"/>

            <!--Step will be to Sign off on the required DSpace License agreement -->
            <step id="license"/>
        </submission-process>
  1. Ainda no arquivo item-submission.xml mapeie agora o processo de submissão do formulário para a coleção desejada. Insira o código abaixo em <submission-map> (aproximadamente da linha 36) informando o id da coleção desejada e o nome do processo de submissão do formulário que foi definido em <submission-definitions>, aqui usamos como exemplo o id (123456789/1) e o nome da submissão (nomedasubmissao):
<name-map collection-handle="123456789/1" submission-name="nomedasubmissao"/>

Observe que a definição do processo de submissão padrão (chamado traditional) para as outras coleções deve ser mantido, conforme o código abaixo:

<name-map collection-handle="default" submission-name="traditional"/>
  1. E por fim salve os arquivos editados e reinicie o servidor web.
1 curtida