@bryanyin 你好,
我下载试用了jmix和bpm插件,参考QuickStart实现了简单demo,感觉非常棒。
现在有两个疑问,想向你请教:
1.bpm插件可以更改么?比如,我想实现一个流程打印的功能,我能修改bpm插件的页面或新增页面来实现么?
2.官方文档比较少,有收费文档或demo提供么?
请不吝指导,谢谢
@bryanyin 你好,
我下载试用了jmix和bpm插件,参考QuickStart实现了简单demo,感觉非常棒。
现在有两个疑问,想向你请教:
1.bpm插件可以更改么?比如,我想实现一个流程打印的功能,我能修改bpm插件的页面或新增页面来实现么?
2.官方文档比较少,有收费文档或demo提供么?
请不吝指导,谢谢
可以扩展现有界面,包括 Jmix core 里面的界面和 addon 的界面:
文档没有收费的,不过现在的文档确实还没有完善,你觉得还少了哪些内容? demo 方面有什么需求?
谢谢回复。
2021-08-17 11:08:43,750 [75150164] WARN - ndling.DefaultExceptionHandler - Studio error:
groovy.lang.MissingPropertyException: No such property: caption for class: SimpleTemplateScript22
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
at SimpleTemplateScript22.run(SimpleTemplateScript22.groovy:1)
at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:176)
at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:159)
at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:118)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateFile(ScreenCreator.java:291)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createScreen(ScreenCreator.java:226)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.lambda$generateScreens$0(ScreenCreator.java:122)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:828)
at com.haulmont.jpb.util.EntityUtil.ra(EntityUtil.java:971)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateScreens(ScreenCreator.java:111)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.create(ScreenCreator.java:99)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$compute$3(WriteCommandAction.java:160)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:143)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:936)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:141)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:150)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:117)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.compute(WriteCommandAction.java:160)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createInWriteCommandAction(ScreenCreator.java:105)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.accept(CreateScreenActionProcess.kt:105)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.accept(CreateScreenActionProcess.kt:39)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$11(ApplicationImpl.java:900)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:197)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$12(ApplicationImpl.java:900)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:924)
at com.intellij.openapi.application.impl.ApplicationImpl.runEdtProgressWriteAction(ApplicationImpl.java:898)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:879)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.haulmont.jmixstudio.intellij.util.SApplicationExUtils.runWriteActionWithProgressInDispatchThread(SApplicationExUtils.java:60)
at com.haulmont.jmixstudio.intellij.util.SApplicationExUtils.runWriteActionWithNonCancellableProgressInDispatchThread(SApplicationExUtils.java:37)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.createAndShowScreenWizard(CreateScreenActionProcess.kt:99)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.access$createAndShowScreenWizard(CreateScreenActionProcess.kt:39)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$run$2.invokeSuspend(CreateScreenActionProcess.kt:56)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:886)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:755)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:442)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:441)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:487)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2.我个人比较关心自定义UI这方面的内容,DEMO就是上个帖子说的BPM定制方面的,给BPM添加全流程展示、打印等国人偏好的功能。另外,像BPM和Map这种收费插件,有没有JavaDoc,详细说明所有属性/方法等。
再次感谢
我查了一下官方Training,有3个比较感兴趣:
这些培训有中文版么?
如果没有中文培训,英文培训提供录像和文档等可反复观看的资料么?