ReactJS forms integration

I’d like to create a ReactJS integration for camunda forms.
I wasn’t involved in the development of Camunda yet, so if anyone has any knowledge to share related to camunda form internals or you know some possible roadblocks, please share it with me.

What do you think of this idea to have React/JSX forms?

Hi @agulin,

From my prospective lack of advanced forms management engine is a major show-stopper for using camunda in enterprise context (when you don’t have a readily available full-stack development team to support another system). So any improvement in this area should fill the gap.

We are relying on some basic integration with Formio vanilla js library as it gives us needed form development flexibility. I believe in your project you’d probably use similar REST calls and principles, so feel free to have a look at this https://github.com/i-am-/demo.git. This is not a production-ready solution - just an example.

Best regards,
Ilya

1 Like

Hi I download your code, I opened on eclipse there seems to be an error in the pom.xml file, could you help me with that?
In line number 2 this is the error:
Multiple annotations found at this line:
- javax.mail:mail:jar:1.4.1 failed to transfer from JFrog during a
previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of
camunda-bpm-nexus has elapsed or updates are forced. Original error: Could not transfer artifact javax.mail:mail:jar:1.4.1 from/to
camunda.com.public (JFrog): The operation was cancelled.
org.eclipse.aether.transfer.ArtifactTransferException: javax.mail:mail:jar:1.4.1 failed to transfer from https://app.camunda.com/
nexus/content/groups/public during a previous attempt. This failure was cached in the local repository and resolution is not
reattempted until the update interval of camunda-bpm-nexus has elapsed or updates are forced. Original error: Could not
transfer artifact javax.mail:mail:jar:1.4.1 from/to camunda.com.public (JFrog):
The operation was cancelled. at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225) at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:189) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:573) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:483) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:202) at
org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:227) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:200) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124) at
org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:630) at
org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:65)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:550) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$3(ProjectRegistryManager.java:514) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:512) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:364) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:315) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:151) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:89) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:101) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88) at
org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197) at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:853) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:389) at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:410) at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160) at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:251) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
- javax.mail:mail:jar:1.4.1 failed to transfer from Central Repository: during a previous attempt. This
failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or
updates are forced. Original error: Could not transfer artifact javax.mail:mail:jar:1.4.1 from/to central (https://
repo.maven.apache.org/maven2): The operation was cancelled. org.eclipse.aether.transfer.ArtifactTransferException:
javax.mail:mail:jar:1.4.1 failed to transfer from Central Repository: during a previous attempt. This failure was
cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are
forced. Original error: Could not transfer artifact javax.mail:mail:jar:1.4.1 from/to central (Central Repository:):
The operation was cancelled. at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225) at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:189) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:573) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:483) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:202) at
org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:227) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:200) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124) at
org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:630) at
org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:65)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:550) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$3(ProjectRegistryManager.java:514) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:512) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:364) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:315) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:151) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:89) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:101) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88) at
org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197) at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:853) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:389) at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:410) at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160) at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:251) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
- javax.mail:mail:jar:1.4.1 failed to transfer from http://repository.springsource.com/maven/bundles/external during a
previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of
com.springsource.repository.bundles.external has elapsed or updates are forced. Original error: Could not transfer artifact
javax.mail:mail:jar:1.4.1 from/to com.springsource.repository.bundles.external (http://repository.springsource.com/maven/
bundles/external): The operation was cancelled. org.eclipse.aether.transfer.ArtifactTransferException: javax.mail:mail:jar:1.4.1 failed
to transfer from http://repository.springsource.com/maven/bundles/external during a previous attempt. This failure was cached in
the local repository and resolution is not reattempted until the update interval of com.springsource.repository.bundles.external
has elapsed or updates are forced. Original error: Could not transfer artifact javax.mail:mail:jar:1.4.1 from/to
com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external): The operation was
cancelled. at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225) at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:189) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:573) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:483) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:202) at
org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:227) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:200) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124) at
org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:630) at
org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:65)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:550) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$3(ProjectRegistryManager.java:514) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:512) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:364) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:315) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:151) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:89) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:101) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88) at
org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197) at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:853) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:389) at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:410) at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160) at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:251) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
- javax.mail:mail:jar:1.4.1 failed to transfer from Index of /groups/public during a
previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of
JBoss public has elapsed or updates are forced. Original error: Could not transfer artifact javax.mail:mail:jar:1.4.1 from/to JBoss
public (Index of /groups/public): The operation was cancelled.
org.eclipse.aether.transfer.ArtifactTransferException: javax.mail:mail:jar:1.4.1 failed to transfer from https://repository.jboss.org/
nexus/content/groups/public/ during a previous attempt. This failure was cached in the local repository and resolution is not
reattempted until the update interval of JBoss public has elapsed or updates are forced. Original error: Could not transfer artifact
javax.mail:mail:jar:1.4.1 from/to JBoss public (Index of /groups/public): The operation was
cancelled. at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225) at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:189) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:573) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:483) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401) at
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:202) at
org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:227) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:200) at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124) at
org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:630) at
org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:65)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:550) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$3(ProjectRegistryManager.java:514) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:512) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:364) at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:315) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:151) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:89) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153) at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:101) at
org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88) at
org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197) at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:853) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:232) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:281) at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:334) at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:337) at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:389) at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:410) at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:160) at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:251) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

I am not sure what caused this as I am new to camunda as well. If there is an proper approach on how to use any front-end like angular or even react with camunda can you share the tutorial?
Thanks in advance!