Extending/ Overriding dynamic attributes view

I am wondering if I can extend/override the dynamic attributes view for categories. I am trying to use the studio to create a new view based on the category-detail-view.xml:dynat_CategoryView.detail because the Entity type dropdown list has a different logic in my case. I am getting an error:

groovy.lang.MissingPropertyException: No such property: layoutClassFqn for class: com.haulmont.jmixstudio.flowui.backend.model.readonly.ReadOnlyFlowView See log file for details (C:\Users\user\AppData\Local\JetBrains\IntelliJIdea2023.3\log\idea.log)

I am using ‘io.jmix’ version ‘2.1.1’

The log is:
2024-01-09 11:50:03,935 [8962375] INFO - #o.j.p.g.GradleManager - Instructing gradle to use java from C:\Program Files\Java\jdk-17
2024-01-09 11:50:04,175 [8962615] INFO - #c.i.u.WinFocusStealer - Foreground lock timeout set to 200000
2024-01-09 11:50:45,615 [9004055] WARN - #com.haulmont.jmixstudio.exceptions.handling.DefaultExceptionHandler - Studio error:
groovy.lang.MissingPropertyException: No such property: layoutClassFqn for class: com.haulmont.jmixstudio.flowui.backend.model.readonly.ReadOnlyFlowView
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:65)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:329)
at SimpleTemplateScript77.run(SimpleTemplateScript77.groovy:12)
at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:177)
at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:154)
at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:113)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateFile(ScreenCreator.java:259)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createScreen(ScreenCreator.java:236)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.lambda$generateScreens$0(ScreenCreator.java:152)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:878)
at com.haulmont.jmixstudio.util.EntityUtil.ra(EntityUtil.java:1018)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateScreens(ScreenCreator.java:141)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.create(ScreenCreator.java:129)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$compute$3(WriteCommandAction.java:161)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:144)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:975)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:142)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:225)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:187)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:151)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:118)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.compute(WriteCommandAction.java:161)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createInWriteCommandAction(ScreenCreator.java:135)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.invoke(CreateScreenActionProcess.kt:106)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.invoke(CreateScreenActionProcess.kt:100)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.createAndShowScreenWizard$lambda$0(CreateScreenActionProcess.kt:104)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$6(ApplicationImpl.java:955)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:192)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:150)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$7(ApplicationImpl.java:955)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:963)
at com.intellij.openapi.application.impl.ApplicationImpl.runEdtProgressWriteAction(ApplicationImpl.java:953)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:936)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.createAndShowScreenWizard(CreateScreenActionProcess.kt:100)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.access$createAndShowScreenWizard(CreateScreenActionProcess.kt:38)
at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$run$2.invokeSuspend(CreateScreenActionProcess.kt:55)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1436)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
2024-01-09 11:50:46,871 [9005311] INFO - #c.i.m.l.c.AIAssistantAllowedLevelService - Updating AIAssistantKillSwitch level: Agreement
2024-01-09 11:50:46,872 [9005312] INFO - #c.i.m.l.c.AIAssistantAllowedLevelService - Updating AIAssistantKillSwitch level: Agreement
2024-01-09 11:50:53,663 [9012103] INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - Saving global entities to files
2024-01-09 11:51:19,431 [9037871] INFO - #c.i.m.l.c.AIAssistantAllowedLevelService - Updating AIAssistantKillSwitch level: Agreement
2024-01-09 11:51:19,431 [9037871] INFO - #c.i.m.l.c.AIAssistantAllowedLevelService - Updating AIAssistantKillSwitch level: Agreement
2024-01-09 11:51:49,514 [9067954] INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - Saving global entities to files
2024-01-09 11:51:56,575 [9075015] INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - Saving global entities to files
2024-01-09 11:53:06,839 [9145279] INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - Saving global entities to files
2024-01-09 11:53:06,964 [9145404] INFO - #c.i.c.ComponentStoreImpl - Saving Project(name=SIMONUserWebapp, containerState=COMPONENT_CREATED, componentStore=D:_Workspace\JMIX\SIMONUserWebapp)RunManager took 15 ms

Thank you.

Hi

Thanks for reporting the issue.
Unfortunately here is incompatibility between Jmix Studio plugin 2.1.2 and Jmix framework versions prior 2.1.2.
Please update Jmix to version 2.1.2, this should fix the issue.