idempiere-plugin-development

Desarrollo de plugins/modulos para iDempiere (OSGi bundles) con Maven/Tycho: crear un nuevo plugin, extender iDempiere sin tocar core (procesos, callouts, model validators, event handlers, formularios ZK, integraciones), empaquetar y entregar (feature/update-site). Usar cuando el trabajo implica agregar o modificar funcionalidad via plugin.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "idempiere-plugin-development" with this command: npx skills add comitsrl/comitsrl-skills/comitsrl-comitsrl-skills-idempiere-plugin-development

iDempiere Plugin Development (OSGi)

Objetivo

Implementar cambios en iDempiere con un plugin desacoplado y mantenible:

  • bundle OSGi + build Tycho/Maven consistente,
  • extension points correctos,
  • instalacion reproducible (feature/p2 o mecanismo del proyecto).

Entorno (si no compila o hay que reproducir)

  • Confirmar version iDempiere (branch/tag) y Java target.
  • Verificar herramientas: java -version, mvn -v, git --version.
  • Confirmar DB dev (ideal: docker compose) y credenciales.
  • Hacer build sin IDE primero y capturar el primer error real.

Antes de tocar codigo

  1. Confirmar el tipo de extension
    • Proceso/Report, Callout, ModelValidator, EventHandler, Form/ZUL, REST/OSGi service, etc.
  2. Confirmar restriccion clave
    • Evitar cambios en core (salvo necesidad justificada y aprobada).
  3. Confirmar alcance de DB
    • Si hay cambios de diccionario/DB, coordinar con $idempiere-db.
    • Si hay UI ZK o themes, coordinar con $idempiere-zk.

Puntos de extension (referencia rapida)

  • Proceso / Reporte: implementar clase (ej: SvrProcess) y registrar en AD_Process (Classname) + menu/role donde aplique.
  • Callout: implementar callout y referenciarlo desde la columna/campo correspondiente (evitar logica pesada y efectos colaterales).
  • ModelValidator: implementar validador y registrarlo como servicio OSGi (preferir patrones ya usados en el repo).
  • Event handler: suscribirse a eventos OSGi/iDempiere segun el mecanismo del proyecto (copiar un handler existente como base).
  • Form / ZUL: empaquetar recursos (ZUL/CSS) en el plugin y registrar el acceso (menu/forma) segun convencion del repo.

Workflow recomendado

  1. Ubicar el parent/releng del repo
    • Detectar donde se agregan modulos (parent pom.xml, releng, features, update-site).
  2. Crear/ajustar el bundle
    • Nombre y paquetes sin colisiones (evitar split packages).
    • Export/Import packages segun necesidad (no exportar por default).
    • Preferir Declarative Services (DS) cuando aplique.
  3. Implementar la extension
    • Registrar lo necesario (plugin.xml, DS, o configuracion en AD_* segun el caso).
    • Mantener codigo testeable y sin dependencias innecesarias.
  4. Integrar al empaquetado
    • Agregar a feature/update-site si el repo lo usa.
    • Versionar y anotar cambios (semver cuando corresponda).
  5. Verificar runtime
    • Confirmar que el bundle queda ACTIVE.
    • Probar el flujo funcional end-to-end en UI.

Checklist rapido

  • No se toco core (o esta justificado).
  • Bundle compila y resuelve dependencias en OSGi.
  • Extension registrada y ejecuta en runtime.
  • Instrucciones de instalacion/upgrade documentadas.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

idempiere-db

No summary provided by upstream source.

Repository SourceNeeds Review
General

idempiere-zk

No summary provided by upstream source.

Repository SourceNeeds Review
General

idempiere-openapi

No summary provided by upstream source.

Repository SourceNeeds Review
General

idempiere-ai

No summary provided by upstream source.

Repository SourceNeeds Review