<div dir="ltr">So there is a working Aida GLASS port as well? &nbsp;If I could get that working, I&#39;d take a look at WebTransactionMonitor. &nbsp;I came back to Magma because my limitations are in my external data sources. &nbsp;With a Magma Server, I can gain the power of Smalltalk &quot;updaters&quot; that crawl through my PatientEncouner&#39;s and update various parts of their model. &nbsp;With GLASS (which would be fun to use, don&#39;t get me wrong!), I would have to produce files for it&#39;s consumption.<div>
<br></div><div>However...I will take a look at WebTransactionManager if I can find it!</div><div><br></div><div>The reason I was looking to do this is that all my apps are &quot;the same,&quot; just a bit different--all centered around PatientEncounter&#39;s and collecting manual data that is not available any other way than chart review.</div>
<div><br></div><div>For that reason, I am also thinking of storing the &quot;field description&quot; for aspects of the PatientEncounter in class methods of the model that will return the proper Aida WebElement. &nbsp;Beautiful, really. &nbsp;Then any app I write will just need to know that I want to display that aspect, and it will know how to do it!</div>
<div><br></div><div>Then, even with Magma, I get to share PatientEncounter data across all my apps and display it correctly with Aida!</div><div><br></div><div>Thanks...I have a version of GLASS that runs; I&#39;ll look around again for the Swazoo &amp; Aida port so I can take a look at this WebTransactionManager.</div>
<div><br></div><div>Rob<br></div><div><br><div class="gmail_quote">On Sun, Sep 28, 2008 at 10:05 AM, Janko Mivšek <span dir="ltr">&lt;<a href="mailto:janko.mivsek@eranova.si">janko.mivsek@eranova.si</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Rob,<div><div></div><div class="Wj3C7c"><br>
<br>
Rob Rothwell wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For a data entry application with Magma, you can simply create a session and #begin it, if you are willing to #commitAndBegin regularly when you change things, or #abort; #begin if you need to check for changes.<br>
<br>
In an Aida application, you could easily #abort and #begin at the top of every view method, and #commitAndBegin with all your action methods, but since Aida is already providing &quot;persistency&quot; with the domain model, it seems like you could pretty easily create a special &quot;Magma Aware&quot; Aida by adding some well placed commits, aborts, and begins in the right places within Aida and creating a &quot;magmaSession&quot; property for your application.<br>

<br>
Would it be hard to hook into the Aida code that reads and writes the domain model to provide such behavior?<br>
</blockquote>
<br></div></div>
This is actually done that way in Gemstone GLASS port of Aida. Essentially you have a commit after every request, then a new transaction auto begins. But for performance (and solving the problem of parallel requests) Aida has its own WebTransactionMonitor, which coordinates transactions among parallel requests. Actually there is only one transaction context open at any moment and where we just coordinating commits. By default simply by committing when there is a time or at least every 10s. But an app can request an explicit commit to be sure data is really saved to the database.<br>

<br>
I could say that an existing WebTransactionMonitor can probably easily be adapted for Magma as well, so if someone has a time ...<br>
<br>
Janko<br><font color="#888888">
<br>
<br>
-- <br>
Janko Mivšek<br>
AIDA/Web<br>
Smalltalk Web Application Server<br>
<a href="http://www.aidaweb.si" target="_blank">http://www.aidaweb.si</a><br>
</font></blockquote></div><br></div></div>