source: BMXNET_RPMS_dotNET_UTILITIES-BMX/branch/IHS BMX Framework/IndianHealthService.BMXNet.Doc/Help/html/b3f76bb0-260c-817a-c4b1-f785742c370c.htm@ 1187

Last change on this file since 1187 was 1146, checked in by Sam Habiel, 14 years ago

Initial Import of BMX4

File size: 22.2 KB
Line 
1<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><META NAME="save" CONTENT="history" /><title>RemoteSessionPool Interface</title><link rel="stylesheet" type="text/css" href="../styles/presentation.css" /><link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" /><link rel="stylesheet" type="text/css" href="ms-help://Dx/DxRuntime/DxLink.css" /><script type="text/javascript" src="../scripts/EventUtilities.js"> </script><script type="text/javascript" src="../scripts/SplitScreen.js"> </script><script type="text/javascript" src="../scripts/Dropdown.js"> </script><script type="text/javascript" src="../scripts/script_manifold.js"> </script><script type="text/javascript" src="../scripts/LanguageFilter.js"> </script><script type="text/javascript" src="../scripts/DataStore.js"> </script><script type="text/javascript" src="../scripts/CommonUtilities.js"> </script><script type="text/javascript" src="../scripts/MemberFilter.js"> </script><meta name="guid" content="b3f76bb0-260c-817a-c4b1-f785742c370c" /></head><body><input type="hidden" id="userDataCache" class="userDataStyle" /><input type="hidden" id="hiddenScrollOffset" /><img id="collapseImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" title="Collapse image" /><img id="expandImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" title="Expand Image" /><img id="collapseAllImage" style="display:none; height:0; width:0;" src="../icons/collall.gif" title="CollapseAll image" /><img id="expandAllImage" style="display:none; height:0; width:0;" src="../icons/expall.gif" title="ExpandAll image" /><img id="dropDownImage" style="display:none; height:0; width:0;" src="../icons/twirl_unselected.gif" title="DropDown image" /><img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../icons/twirl_unselected_hover.gif" title="DropDownHover image" /><img id="copyImage" style="display:none; height:0; width:0;" src="../icons/copycode.gif" title="Copy image" /><img id="copyHoverImage" style="display:none; height:0; width:0;" src="../icons/copycodeHighlight.gif" title="CopyHover image" /><img id="checkBoxSelectImage" style="display:none; height:0; width:0;" src="../icons/ch_selected.gif" /><img id="checkBoxUnSelectImage" style="display:none; height:0; width:0;" src="../icons/ch_unselected.gif" /><img id="checkBoxSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/ch_selected_hover.gif" /><img id="checkBoxUnSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/ch_unselected_hover.gif" /><img id="radioSelectImage" style="display:none; height:0; width:0;" src="../icons/r_select.gif" /><img id="radioUnSelectImage" style="display:none; height:0; width:0;" src="../icons/r_unselect.gif" /><img id="radioSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/r_select_hover.gif" /><img id="radioUnSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/r_unselect_hover.gif" /><img id="curvedLeftSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_sel_lft_cnr.gif" /><img id="curvedRightSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_sel_rt_cnr.gif" /><img id="curvedLeftUnSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_unsel_lft_cnr.gif" /><img id="curvedRightUnSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_unsel_rt_cnr.gif" /><img id="gradLeftSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_sel_lft_grad.gif" /><img id="gradRightSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_sel_rt_grad.gif" /><img id="gradLeftUnSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_unsel_lft_grad.gif" /><img id="gradRightUnSelectImage" style="display:none; height:0; width:0;" src="../icons/tab_unsel_rt_grad.gif" /><img id="twirlSelectImage" style="display:none; height:0; width:0;" src="../icons/twirl_selected.gif" /><img id="twirlUnSelectImage" style="display:none; height:0; width:0;" src="../icons/twirl_unselected.gif" /><img id="twirlSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/twirl_selected_hover.gif" /><img id="twirlUnSelectHoverImage" style="display:none; height:0; width:0;" src="../icons/twirl_unselected_hover.gif" /><img id="NSRBottomImage" style="display:none; height:0; width:0;" src="../icons/NSRbottomgrad.gif" /><div id="header"><table id="topTable"><tr id="headerTableRow3"><td><span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0"><img ID="toggleAllImage" class="toggleAll" src="../icons/collall.gif" title="CollapseAll image" /><label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label><label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label> </span> | <span id="languageFilterToolTip" style="cursor:default;" onmouseover="languageFilterImage.src=dropDownHoverImage.src;" onmouseout="languageFilterImage.src=dropDownImage.src;" tabindex="0"><img id="languageFilterImage" src="../icons/twirl_unselected.gif" title="DropDown image" /><label id="VisualBasicLabel" for="languageFilterImage" style="display: none;">Language Filter: Visual Basic</label><label id="CSharpLabel" for="languageFilterImage" style="display: none;">Language Filter: C#</label><label id="ManagedCPlusPlusLabel" for="languageFilterImage" style="display: none;">Language Filter: Visual C++</label><label id="JavaScriptLabel" for="languageFilterImage" style="display: none;">Language Filter: JavaScript</label></span><div id="languageSpan"><div id="VisualBasic" onclick="changeLanguage(data, 'VisualBasic', 'vb');"><img id="VisualBasicImage" onmouseover="mouseOverCheck(VisualBasicImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" onmouseout="mouseOutCheck(VisualBasicImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" src="../icons/r_unselect.gif" /> Visual Basic</div><br /><div id="CSharp" onclick="changeLanguage(data, 'CSharp', 'cs');"><img id="CSharpImage" onmouseover="mouseOverCheck(CSharpImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" onmouseout="mouseOutCheck(CSharpImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" src="../icons/r_unselect.gif" /> C#</div><br /><div id="ManagedCPlusPlus" onclick="changeLanguage(data, 'ManagedCPlusPlus', 'cpp');"><img id="ManagedCPlusPlusImage" onmouseover="mouseOverCheck(ManagedCPlusPlusImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" onmouseout="mouseOutCheck(ManagedCPlusPlusImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" src="../icons/r_unselect.gif" /> Visual C++</div><br /><div id="JavaScript" onclick="changeLanguage(data, 'JavaScript', 'cs');"><img id="JavaScriptImage" onmouseover="mouseOverCheck(JavaScriptImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" onmouseout="mouseOutCheck(JavaScriptImage,radioSelectImage,radioUnSelectImage,radioSelectHoverImage,radioUnSelectHoverImage)" src="../icons/r_unselect.gif" /> JavaScript</div><br /></div> | <a href="#membersToggle" onclick="OpenSection(membersToggle)">Members</a> | <a href="#seeAlsoToggle" onclick="OpenSection(seeAlsoToggle)">See Also</a></td></tr><tr id="headerTableRow1"><td align="left"><span id="runningHeaderText">.NET Framework Class Library</span></td></tr><tr id="headerTableRow2"><td align="left"><span id="nsrTitle">RemoteSessionPool Interface</span></td></tr><tr><td class="nsrBottom" background="../icons/NSRbottomgrad.gif" /></tr></table></div><div id="mainSection"><div id="mainBody"><div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()" /><div class="header"><font color="darkgray" /><p><font color="#a9a9a9">BMXNET 4.0 Developer API</font></p></div><div class="summary">
2 <p>
3 Each BMX connection to RPMS contains a single RemoteSessionPool with at least
4 one Session, the primary session. Applications that need additional server processes
5 beyond what can be done with async commands can used the RemoteSessionPool.
6 </p>
7 <p>
8 Access to the RemoteSessionPool is accomplished by implementing the RemoteSessionPoolConsumer
9 interface on your component/control. Secondary sessions can be opened and closed as they
10 are needed. If the AvailableSessionCount is zero then a null RemoteSession is returned so it
11 is recommend to first check the if a pool HasAvailableSessions before an OpenSession() request.
12 </p>
13 <p>
14 RemoteSessionPool high-performance can be achieved by keeping RPMS server jobs alive even after
15 secondary sessions are closed. The pool will maintain MaxSessions - 1 number of jobs alive on the
16 server. If the application is finished for awhile needing IdleSessionCount idle jobs, then
17 TerminateIdleSessions() will release those resources on the server. New jobs will then be created
18 on demand.
19 </p>
20
21 </div><p />
22 <b>Namespace:</b>
23  <a href="58d4523c-9538-8ef8-a06c-5ae73a5250ff.htm">IndianHealthService.BMXNet</a><br />
24 <b>Assembly:</b>
25  <span sdata="assembly">BMXNET40</span> (in BMXNET40.dll)<h1 class="heading"><span onclick="ExpandCollapse(syntaxToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(syntaxToggle, event)" tabindex="0"><img id="syntaxToggle" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Syntax</span></h1><div id="syntaxSection" class="section" name="collapseableSection" style=""><div id="syntaxCodeBlocks"><table class="filter" cellspacing="0" cellpadding="0"><tr id="curvedSyntaxTabs"><td class="leftTab" x-lang="CSharp"> </td><td class="middleTab" x-lang="CSharp"> </td><td class="rightTab" x-lang="CSharp"> </td><td class="leftTab" x-lang="VisualBasic"> </td><td class="middleTab" x-lang="VisualBasic"> </td><td class="rightTab" x-lang="VisualBasic"> </td><td class="leftTab" x-lang="ManagedCPlusPlus"> </td><td class="middleTab" x-lang="ManagedCPlusPlus"> </td><td class="rightTab" x-lang="ManagedCPlusPlus"> </td></tr><tr class="tabs" id="syntaxTabs"><td class="leftGrad" x-lang="CSharp"> </td><td class="tab" x-lang="CSharp" onclick="changeLanguage(data, 'CSharp', 'cs');">C#</td><td class="rightGrad" x-lang="CSharp"> </td><td class="leftGrad" x-lang="VisualBasic"> </td><td class="tab" x-lang="VisualBasic" onclick="changeLanguage(data, 'VisualBasic', 'vb');">Visual Basic</td><td class="rightGrad" x-lang="VisualBasic"> </td><td class="leftGrad" x-lang="ManagedCPlusPlus"> </td><td class="tab" x-lang="ManagedCPlusPlus" onclick="changeLanguage(data, 'ManagedCPlusPlus', 'cpp');">Visual C++</td><td class="rightGrad" x-lang="ManagedCPlusPlus"> </td></tr></table><div id="syntaxBlocks"><div class="code" x-lang="CSharp"><div id="CSharpDeclarationSection"><pre><span class="keyword">public</span> <span class="keyword">interface</span> <span class="identifier">RemoteSessionPool</span></pre></div></div><div class="code" x-lang="VisualBasic"><div id="VisualBasicDeclarationSection"><pre><span class="keyword">Public</span> <span class="keyword">Interface</span> <span class="identifier">RemoteSessionPool</span></pre></div></div><div class="code" x-lang="ManagedCPlusPlus"><div id="ManagedCPlusPlusDeclarationSection"><pre><span class="keyword">public</span> <span class="keyword">interface class</span> <span class="identifier">RemoteSessionPool</span></pre></div></div></div></div></div><h1 class="heading"><span onclick="ExpandCollapse(membersToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(membersToggle, event)" tabindex="0"><img id="membersToggle" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Members</span></h1><div id="membersSection" class="section" name="collapseableSection" style=""><div id="allMemberSection"><table class="filter" cellspacing="0" cellpadding="0"><tr id="curvedMemberTabs"><td class="leftTab" value="all"> </td><td class="middleTab" value="all"> </td><td class="rightTab" value="all"> </td><td class="leftTab" value="property"> </td><td class="middleTab" value="property"> </td><td class="rightTab" value="property"> </td><td class="leftTab" value="method"> </td><td class="middleTab" value="method"> </td><td class="rightTab" value="method"> </td></tr><tr class="tabs" id="memberTabs"><td class="leftGrad" value="all"> </td><td class="tab" value="all" onclick="toggleClass('memberTabs','value','all','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'all'); processSubgroup('all','member'); process('memberList','filterElement','member');">All Members</td><td class="rightGrad" value="all"> </td><td class="leftGrad" value="property"> </td><td class="tab" value="property" onclick="toggleClass('memberTabs','value','property','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'property'); processSubgroup('property','member'); process('memberList','filterElement','member');">Properties <img src="../icons/pubproperty.gif" title="Public property" /></td><td class="rightGrad" value="property"> </td><td class="leftGrad" value="method"> </td><td class="tab" value="method" onclick="toggleClass('memberTabs','value','method','activeTab','tab'); curvedToggleClass('curvedMemberTabs', 'value', 'method'); processSubgroup('method','member'); process('memberList','filterElement','member');">Methods <img src="../icons/pubmethod.gif" title="Public method" /></td><td class="rightGrad" value="method"> </td></tr></table><div class="memberSection"><table class="memberOptions"><tr><td class="line"><div id="public" onclick="var checked=toggleCheck(publicImage); toggleCheckState('public',checked); process('memberList','filterElement','member');"><img id="publicImage" onmouseover="mouseOverCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(publicImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Public</div><br /><div id="protected" onclick="var checked=toggleCheck(protectedImage); toggleCheckState('protected',checked); process('memberList','filterElement','member');"><img id="protectedImage" onmouseover="mouseOverCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(protectedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Protected</div></td><td class="line"><div id="instance" onclick="var checked=toggleCheck(instanceImage); toggleCheckState('instance',checked); process('memberList','filterElement','member');"><img id="instanceImage" onmouseover="mouseOverCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(instanceImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Instance</div><br /><div id="static" onclick="var checked=toggleCheck(staticImage); toggleCheckState('static',checked); process('memberList','filterElement','member');"><img id="staticImage" onmouseover="mouseOverCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(staticImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Static <img src="../icons/static.gif" title="Static member" /></div></td><td class="line"><div id="declared" onclick="var checked=toggleCheck(declaredImage); toggleCheckState('declared',checked); process('memberList','filterElement','member');"><img id="declaredImage" onmouseover="mouseOverCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(declaredImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Declared</div><br /><div id="inherited" onclick="var checked=toggleCheck(inheritedImage); toggleCheckState('inherited',checked); process('memberList','filterElement','member');"><img id="inheritedImage" onmouseover="mouseOverCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(inheritedImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> Inherited</div></td><td class="line"><div id="xna" onclick="var checked=toggleCheck(xnaImage); toggleCheckState('xna',checked); process('memberList','filterElement','member');"><img id="xnaImage" onmouseover="mouseOverCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(xnaImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> XNA Framework Only <img src="../icons/xna.gif" title="Supported by the XNA Framework" /></div><br /><div id="compact" onclick="var checked=toggleCheck(compactImage); toggleCheckState('compact',checked); process('memberList','filterElement','member');"><img id="compactImage" onmouseover="mouseOverCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" onmouseout="mouseOutCheck(compactImage,checkBoxSelectImage,checkBoxUnSelectImage,checkBoxSelectHoverImage,checkBoxUnSelectHoverImage)" src="../icons/ch_selected.gif" /> .NET Compact Framework Only <img src="../icons/CFW.gif" title="Supported by the .NET Compact Framework" /></div></td><td class="line"><br /></td></tr></table><table class="members" id="memberList" cellspacing="0" frame="lhs"><tr><th class="iconColumn"> </th><th class="nameColumn">Member</th><th class="descriptionColumn">Description</th></tr><tr data="property; public; instance; declared; none; none"><td><img src="../icons/pubproperty.gif" title="Public property" /></td><td><a href="a574f9e9-b8e3-1b77-0931-e2f80e968dfe.htm">AvailableSessionCount</a></td><td><div class="summary">
26 The number of additional secondary RemoteSessions that can be opened.
27 </div></td></tr><tr data="method; public; instance; declared; none; none"><td><img src="../icons/pubmethod.gif" title="Public method" /></td><td><a href="3147b2c3-39e9-5c60-c789-2eb8f68997d8.htm">Close<span class="languageSpecificText"><span class="cs">()</span><span class="cpp">()</span><span class="nu">()</span></span></a></td><td /></tr><tr data="property; public; instance; declared; none; none"><td><img src="../icons/pubproperty.gif" title="Public property" /></td><td><a href="0766a906-0b1a-00b9-9011-834347a22d68.htm">HasAvailableSession</a></td><td><div class="summary">
28 True if another secondary session can be opened.
29 </div></td></tr><tr data="property; public; instance; declared; none; none"><td><img src="../icons/pubproperty.gif" title="Public property" /></td><td><a href="a0a539db-934c-9bbb-7834-c982b20d1423.htm">IdleSessionCount</a></td><td /></tr><tr data="property; public; instance; declared; none; none"><td><img src="../icons/pubproperty.gif" title="Public property" /></td><td><a href="d45c3f71-6b82-e105-cbfd-9ace2fab50db.htm">MaxSessions</a></td><td><div class="summary">
30 The maximum number of RemoteSessions than can be opened
31 </div></td></tr><tr data="method; public; instance; declared; none; none"><td><img src="../icons/pubmethod.gif" title="Public method" /></td><td><a href="33a0fd22-c12f-d35b-cb3e-c71777a31d22.htm">OpenSession<span class="languageSpecificText"><span class="cs">()</span><span class="cpp">()</span><span class="nu">()</span></span></a></td><td><div class="summary">
32 Open a RemoteSession and answer it. If an idle Session exists, it will be recycled
33 and answered. Use Close() on the RemoteSession to release this secondary RemoteSession
34 back to the pool.
35 </div></td></tr><tr data="method; public; instance; declared; none; none"><td><img src="../icons/pubmethod.gif" title="Public method" /></td><td><a href="504b53e4-870c-8f66-0b63-b8a8d0ee0fff.htm">OpenSession(Log)</a></td><td><div class="summary">
36 Open a new RemoteSession and answer it. If an idle Session exists, it will be recycled
37 and answered. Use Close() on the RemoteSession to release this secondary RemoteSession
38 back to the pool. An implementation of Log can be included to trace RPC execution.
39 </div></td></tr><tr data="method; public; instance; declared; none; none"><td><img src="../icons/pubmethod.gif" title="Public method" /></td><td><a href="f2e3962b-017a-f1df-256c-7c1ac942ca12.htm">TerminateIdleSessions<span class="languageSpecificText"><span class="cs">()</span><span class="cpp">()</span><span class="nu">()</span></span></a></td><td /></tr></table></div></div></div><h1 class="heading"><span onclick="ExpandCollapse(seeAlsoToggle)" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey(seeAlsoToggle, event)" tabindex="0"><img id="seeAlsoToggle" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />See Also</span></h1><div id="seeAlsoSection" class="section" name="collapseableSection" style=""><div class="seeAlsoStyle"><a href="58d4523c-9538-8ef8-a06c-5ae73a5250ff.htm">IndianHealthService.BMXNet Namespace</a></div></div><div id="footer"><div class="footerLine"><img width="100%" height="3px" src="../icons/footer.gif" title="Footer image" /></div>
40 <p />
41 <span>
42 Send
43 <a href="javascript:sendfeedback('Documentation Feedback (Sandcastle CTP): ', 'RemoteSessionPool Interface', '');">
44
45 comments
46 </a>
47 about this topic to Microsoft.
48 </span>
49 </div></div></div></body></html>
Note: See TracBrowser for help on using the repository browser.