[DOCU-2455] Developing a custom content editor app tutorial missing clipboard component step Created: 10/May/22 Updated: 20/May/22 Resolved: 20/May/22 |
|
| Status: | Closed |
| Project: | Documentation |
| Component/s: | content |
| Affects Version/s: | 6.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Richard Gange | Assignee: | Alex Mansell |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Template: |
|
||||
| Acceptance criteria: |
Empty
|
||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||
| Description |
|
The instructions for developing a custom content editor app (stories app) doesn't cover the part where you need to declare ContentClipboard component in the proper scope. <components>
<id>app-my-stories-browser</id>
<component>
<type>info.magnolia.ui.framework.ContentClipboard</type>
<implementation>info.magnolia.ui.contentapp.action.clipboard.JcrClipboard</implementation>
</component>
</components>
Failing to do so leads to this error: 2022-05-10 17:57:22,675 ERROR agnolia.ui.framework.app.AppInstanceControllerImpl: Sub-app [browser] of app [my-stories] failed to start info.magnolia.objectfactory.MgnlInstantiationException: Failed to create instance of [class info.magnolia.ui.contentapp.browser.Browser] at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:138) ~[magnolia-core-6.2.18.jar:?] ... ... Caused by: java.lang.UnsupportedOperationException at info.magnolia.ui.framework.ContentClipboard.getContents(ContentClipboard.java:66) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.framework.ContentClipboard.isEmpty(ContentClipboard.java:59) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.action.clipboard.CanPasteContentRule.isAvailable(CanPasteContentRule.java:59) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.availability.DefaultAvailabilityChecker.isAvailable(DefaultAvailabilityChecker.java:80) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.availability.DefaultAvailabilityChecker.lambda$isAvailable$1(DefaultAvailabilityChecker.java:64) ~[magnolia-ui-framework-6.2.18.jar:?] at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_211] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_211] at java.util.LinkedList$LLSpliterator.tryAdvance(LinkedList.java:1249) ~[?:1.8.0_211] at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731) ~[?:1.8.0_211] at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_211] at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_211] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_211] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_211] at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_211] at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_211] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_211] at java.util.stream.ReferencePipeline.allMatch(ReferencePipeline.java:454) ~[?:1.8.0_211] at info.magnolia.ui.availability.DefaultAvailabilityChecker.isAvailable(DefaultAvailabilityChecker.java:64) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.actions.ActionbarPresenter.lambda$getAvailabilityFilter$4(ActionbarPresenter.java:156) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.actions.ActionbarPresenter.isEnabledAction(ActionbarPresenter.java:130) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.lambda$null$1(ActionbarView.java:127) ~[magnolia-ui-framework-6.2.18.jar:?] at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_211] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.lambda$null$2(ActionbarView.java:125) ~[magnolia-ui-framework-6.2.18.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_211] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.lambda$null$3(ActionbarView.java:116) ~[magnolia-ui-framework-6.2.18.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_211] at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080) ~[?:1.8.0_211] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.lambda$initialiseActionbar$4(ActionbarView.java:112) ~[magnolia-ui-framework-6.2.18.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_211] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.initialiseActionbar(ActionbarView.java:109) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.actions.ActionbarView.<init>(ActionbarView.java:85) ~[magnolia-ui-framework-6.2.18.jar:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_211] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_211] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_211] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_211] at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:129) ~[magnolia-core-6.2.18.jar:?] at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:99) ~[magnolia-core-6.2.18.jar:?] at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:134) ~[magnolia-core-6.2.18.jar:?] at info.magnolia.ui.framework.ioc.UiComponentProvider.lambda$newInstanceWithParameterResolvers$3(UiComponentProvider.java:137) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.framework.ioc.UiComponentProvider.provideInCurrentScope(UiComponentProvider.java:177) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.framework.ioc.UiComponentProvider.newInstanceWithParameterResolvers(UiComponentProvider.java:137) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.framework.ioc.UiComponentProvider.newInstance(UiComponentProvider.java:128) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.UIComponent.create(UIComponent.java:139) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.Browser.layout(Browser.java:142) ~[magnolia-ui-framework-6.2.18.jar:?] at info.magnolia.ui.contentapp.browser.Browser.<init>(Browser.java:114) ~[magnolia-ui-framework-6.2.18.jar:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_211] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_211] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_211] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_211] at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:129) ~[magnolia-core-6.2.18.jar:?] at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:99) ~[magnolia-core-6.2.18.jar:?] at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:134) ~[magnolia-core-6.2.18.jar:?] |