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
-~----------~----~----~----~------~----~------~--~---

Reply via email to