I've been working on a project to create an application to help run my RPG games. The current version is a single user Swing application (for the referee). It helps run battles and controls all the combatants in the battle. I have been considering moving this application to a web application for several reason, among them it would allow online play and the players and referee to share the same information. The swing application is available here: http://www.exnebula.org/vcc
It is currently implemented as an Tracker Actor that control the state of the battle. The UI send messages to this actor that in response updates one or more pieces of information, then notifies observer actors (currently just the UI). Lift looks like an interesting alternative, specially because of it's Ajax/Comet support. But I'm new to Lift and I'm trying to figure out the best design practices to use. My initial idea is to do the following: 1) The battle control windows would be composed of: a) a table containing a summary of the combatant status and their order in the battle; b) a div for each combatant, these will contain relevant information, and only one will be visible at a time (based on context information, or selection on the table) c) In several positions on both the div and table are link that fire actions on the tracker object (change the order of battle, use a power, reset something) and some simple forms for information like applying damage or changing text information In general all pieces of information in the page would be identified as with ID making it possible to change any small part of the page. 2) Every link or post form a form will fire a message on the tracker. The tracker changes values and send updates to the observers, the idea here is send a series of updates to individual part of the page (and not update the entire page) 3) Occasionally an action may requires a more complex input like sending a popup/overlay form I have a felling that the general design should work, but I have several questions with the Lift way of doing things: 1) Comet seems to focus on a specific region of the page. But it partialUpdate allows me to update just a part of the area. If so can I ask: a. Can I have several links/buttons use the same Comet channel? b. Can I update several parts of the page on a single partialUpdate? 2) If I use a comet actor for each part will that mean that I have several connections pooling the server, one for each comet part? 3) How do I overlay or popup without redrawing the whole page? If that is possible? 4) Is this the correct pattern? Full rendering seem to me to be overkill, but I think it's not necessary.. Thanks for any hints and ideas, Thomas --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---