Just for your information I have started a "template development guide" but I don't find free time to complete it. I will try to publish that guide as soon as possible.As for the components, they are big applications and it is hard to write a full guide. Almost everything the documentation contains suits to a component. For instance you can use any Elxis library and helper in a component. The good thing is that ALL Elxis extensions have some very common things. For eample the installation file, the xml file, the parameters, the naming, etc, are common to all extensions. So, the modules development guide is very useful to components development too. What is different to components is that they have internal routing and use an MVC model (Model-View-Controller). The routing is required as a component can execute various tasks and display many different pages and the MVC model is a way to organize our code.The main component's file (let's call it test.php) has a router class which extends the elxisRouterclass testRouter extends elxisRouter {}What this class does is to analyse the Elxis URI segments and detect the proper controller and task for the user's request. The controller will call the model if it needs to get things from the database and finally load the view class to display the page's html. Take a look on how the built-in components are built. See a small component, it will be easier for you, don't mess with content which is larger.ExampleURL: www.example.com/test/places/london.htmlSegments: array('places', 'london.html');The router analyses these segments and finds out that the user wants to see information about a place (london). The router now sets the task to "city" and the controller to "places" and includes the controller file (controller/places.php).Inside the controller's file there is the "city" method (which is our task).The router executes this task and then it is up to the controller/task to continue the page generation.$places = new placesController();$places->city();Off course you can name and organize your files, controllers, tasks, methods, to anything you like.
I think you dont need the baseRouter, but it's ok, I wont argue on that. If your component needs some extra repeated functionality you can create a helper class or the base controller may contain common methods. In what I disagree with you is placing controller and method names exactly as is in the URL. Also don't use index.html in the URLs as you will face problems.
exactly, elxisRouter is not necessary...