I am in the process of creating an e-learning using Adapt framework. I've read a lot about it and installed the Authoring Tool to play around with it and created some pages already. It works very well and I have explored and tried almost all options.
However, I can't map all the client's requirements with the existing components and would like to create my own extensions for it. This currently confronts me with some problems. I am a developer, but I do not have extensive experience in working with Bower packages. Therefore, I am not very familiar with the whole architecture of Adapt.
I looked at the tutorial on creating your own plugins, but it doesn't really seem very serious. E.g. nowhere does it mention that a schema is necessary (which is requested during installation of a plugin) and how to create it. So I looked at other plugins and derived one of my own (specifically from the Narrative component).
At least I can install this successfully now and put my component in a block. Now when loading the page I get the error "View 630fbc9efea5ff81b3aabc8c (article), 631e4711d031507438c52298 (block) failed to become ready, forcing ready status."
I looked at the ComponentView code and tried setting _isReady and _isRendered to true in my component, but that doesn't help. It still comes to the logReadyError in the preRender, I assume. I googled for it but couldn't find anything.
Maybe I didn't find the real docs. I don't know of any tutorial that would cover all these issues that arise when developing an extension and explain the architecture of the framework to me.
What I'm also wondering is how to test my extension properly. Currently I install it via the upload function in the authoring tool and test it. If I make a change, I have to delete it and install it again.
If I change the installed code it has no effect because I would have to restart the build process, as changing my templates has no effect without re-build / re-start because they are integrated into the global build/templates.js.
If someone could give me some essential workflow tips for developing my own extension, I would be very grateful! :-)