Perguntas Frequentes
🔧 Configuração e Pré-requisitos
Quais são os requisitos mínimos para usar o Add-on Studio?
- Java 1.8
- IDE como IntelliJ (recomendado), VS Code ou Eclipse
- Docker (para bancos de teste local - Oracle/SQL Server)
- WildFly 23.0 (para deploy local)
- Cadastro na Área do Desenvolvedor Sankhya
Preciso pagar para usar o Add-on Studio?
Não, o Add-on Studio é gratuito para desenvolvedores registrados no ecossistema Sankhya.
Como configuro o ambiente de desenvolvimento pela primeira vez?
- Baixe o projeto modelo
- Siga o guia de Preparação de Ambiente
- Configure os arquivos
settings.gradle
ebuild.gradle
com o nome do seu projeto.
🚀 Desenvolvimento
Como estruturar meu add-on corretamente?
- Use o padrão de pastas:
datadictionary/
para arquivos XML de metadadosdbscripts/
para migrações de banco (ex:V1.xml
,V2.xml
)src/main/resources/META-INF/
para parâmetros (parameters.xml
)
Posso usar bibliotecas externas no meu add-on?
Sim, mas:
- Use
moduleLib
nobuild.gradle
para libs específicas do add-on - Evite conflitos com dependências nativas do Sankhya Om
Como debuggar meu add-on localmente?
- Habilite o modo debug no WildFly
- Execute:
./gradlew clean deployAddon
para liberar a versão para teste local
📦 Publicação e Distribuição
Como publicar meu add-on no Sankhya Place?
- Execute:
./gradlew publishAddon -Pusuario=email -Psenha=senha -PpublishPlace=true -PprivateKey=/caminho/chave.key
- A primeira publicação deve ser feita manualmente na Área do Desenvolvedor.
Preciso assinar meu add-on? Como gerar a chave?
Sim! A chave de assinatura é obrigatória e pode ser obtida pelo administrador da Área do Desenvolvedor. Armazene o arquivo .key em um local seguro.
Quanto tempo leva para o add-on ser aprovado?
O processo é automático, mas pode ser validado pela equipe Sankhya em casos específicos.
🔄 Migração e Compatibilidade
Como migrar um projeto antigo (DWF) para o Add-on Studio?
Com os arquivos de metadados e scripts da última versão da Extensão gerada
Execute:
./gradlew importAndConvertDD -PlocationMetadata=pasta/metadata.xml -PlocationScripts=pasta/scripts/
Meu add-on funciona em todas versões do Sankhya Om?
A versão mínima desde que superior a 4.28 pode deve ser definida a partir da variável:
snkmodule {
serverFolder = '${wildfly.home}' // /home/user/wildfly/
plataformaMinima = "4.X"
}
as bibliotecas disponíveis viabiliza o desenvolvimento de soluções na versão corrente e duas anteriores.
Posso desenvolver add-ons para o Sankhya Om Cloud?
Sim, todos os nossos clientes podem receber um add-on a depender apenas da versão em que o cliente esteja utilizando. Lembrando a instalação de soluções ocorre exclusivamente via loja de soluções.
❌ Solução de Problemas
Erro ao fazer deploy local. O que verificar?
- WildFly está rodando?
serverFolder
nobuild.gradle
aponta para o diretório correto?- Logs do WildFly (
standalone/log/server.log
)
Meu add-on não aparece no Sankhya Om após a instalação. Por quê?
- Verifique se a
appKey
nobuild.gradle
está correta - Confira os logs do servidor (erros de inicialização)
Como atualizar um add-on já publicado?
- Incremente a versão no
build.gradle
- Republique com
publishAddon
Falha na comunicação com nexus
Se receber o erro "FAILURE: Build failed with an exception."
Alterar no arquivo build.gradle o conteúdo:
url = uri("https://nexus-repository.sankhya.com.br/repository/maven-releases/")
para:
url = uri("https://artifacts-partners.sankhya.com.br/repository/maven-releases")
Verificar o arquivo *-model/build.gradle. Caso exista a tag repositories, a mesma deverá ser removida. O arquivo ficará parecido com o exemplo abaixo:
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
}
test {
useJUnitPlatform()
}
💡 Dicas de Boas Práticas
Como garantir que meu add-on seja seguro e estável?
Teste em sandbox antes de publicar
- Use prefixos únicos para tabelas/parâmetros (ex:
nomeaddon_parametro
) - Documente requisitos e compatibilidade
Posso monetizar meu add-on?
Sim! No Sankhya Place, você pode definir modelos de licença.
Onde busco ajuda adicional?
Updated 8 days ago