In this final chapter of the first part, we tie up a couple of loose ends. Afterward, you can (and should) strike out on your own. Come back to the chapters in the second part as and when you need them.
I made you work hard on the [moduleroot]/module.xml files so far. Even First Module had three rootspaces (the main one, one for tests, and one for documentation) that you had to type in from scratch.
Actually, we could have made First Module with hardly any work at all. Point your browser to http://localhost:1060/tools/newmodule/ and fill out the forms. It is that easy. It registers your module with the NetKernel instance, too, and provides stubs for testing and documentation. The functionality it provides is the very same First Module provides.
This is no coincidence, by the way. I reverse-engineered (not a whole lot of work) a generated First Module, and that became my Chapter 1.
A generated stub module (for that is what it is) to start your development may work for you. It does not for me. While I do use my own simple templates to increase my productivity, absolute control over my sources is—for me—mandatory. So, I do not use a generated stub module and I do the registering myself.
Go with whatever makes you most productive. I’m old-school.
Well, there’s an obvious exercise here, is there not? See how quickly you can make a Second Module. This should not take you more than five minutes!