Ok we need more documentation! That is why I will write down everything that I am doing here right now and see if I really understand what is going on! This text can possibly be wrong!
If I want to create some new feature in Metalcon I just found out that I have to follow this process:
First step
Create a Class in the package de.metalcon.gwt.client.pages;
This class should inherit from AModulePage
Second Step:
Create a class in the package de.metalcon.gwt.client.modules;
This class should inherit from ADynamicModule.
from my understanding this class handels the front end communication and layout of the specific page. An Object of this class has to be created in the first class.
Since also makes RPC calls to the server we need a third class.
Third Step:
Create a class in package de.metalcon.gwt.server.modules;
This class must inherit from: AModuleServer
In this class I can handle all the incoming RPC calls and can talk to the backend of metalcon.
Fourth Step:
I need to use those Content transmitter classes in order to transmit content. I see how they are serializing an object in a JSON style manner. But I still don’t get why this is particularly necessary
If we really stay with the current class design we need some documentation in our wiki how to use it and work with it. Some pictures that explain how everything depends on each other would really help. I know this seems like a lot of work now and of course it is quicker if you just explain everything to me on a phone call or I just read the source code. But if the project grows and additional programmer join us we are happy to have documentation! I am also not sure if the blog or the wiki is the best place to do the documentation
ok after third step the class historyTokenAnalyser needs to be extended so our system knows that the news history token exists!
for example:
if (token.startsWith(StreamPage.getHistoryTokenPrefix())){
return new StreamPage();
}