Regarding:<br><i>require_once &#39;./includes/bootstrap.inc&#39;;<br>
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);<br>// Choose the minimum bootstrap level necessary for your module.</i><br><br>Thanks for the below information.  If all I want to do is just send an ajax call to a drupal url which points to a callback that only has a return statement in it (originally I returned the contents of 2 session variables but I will eliminate that if it causes additional overhead).  What would the minumum parameter for drupal_bootstrap needed for the scenario listed above? <br>
According to the documentation it appears to be DRUPAL_BOOTSTRAP_CONFIGURATION.<br>Am I correct that I should use DRUPAL_BOOTSTRAP_CONFIGURATION as the parameter?<br><br>Thanks,<br><br>John<br><h3>Parameters</h3>
<p>
$phase
A constant. Allowed values are:
DRUPAL_BOOTSTRAP_CONFIGURATION: initialize configuration.
DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE: try to call a non-database cache fetch routine.
DRUPAL_BOOTSTRAP_DATABASE: initialize database layer.
DRUPAL_BOOTSTRAP_ACCESS: identify and reject banned hosts.
DRUPAL_BOOTSTRAP_SESSION: initialize session handling.
DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE: load <a href="http://api.drupal.org/api/drupal/includes--bootstrap.inc/6" title="Functions that need to be loaded on every Drupal request." class="local">bootstrap.inc</a> and <a href="http://api.drupal.org/api/drupal/includes--module.inc/6" title="API for loading and interacting with Drupal modules." class="local">module.inc</a>, start
the variable system and try to serve a page from the cache.
DRUPAL_BOOTSTRAP_LANGUAGE: identify the language used on the page.
DRUPAL_BOOTSTRAP_PATH: set $_GET[&#39;q&#39;] to Drupal path of request.
DRUPAL_BOOTSTRAP_FULL: Drupal is fully loaded, validate and fix input data.</p><br><div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style><br>
<div class="gmail_quote">On Sun, Feb 6, 2011 at 12:21 PM, Greg Knaddison <span dir="ltr">&lt;<a href="mailto:greg@growingventuresolutions.com">greg@growingventuresolutions.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Drupal&#39;s bootstrap takes something like 50% of the total page<br>
processing time on a typical page. You are still paying for that<br>
overhead even though you don&#39;t need it.<br>
<br>
See <a href="http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/drupal_bootstrap/6" target="_blank">http://api.drupal.org/api/drupal/includes--bootstrap.inc/function/drupal_bootstrap/6</a><br>
and look at something like the chatroom module&#39;s lightweight bootstrap<br>
code:<br>
<br>
<a href="http://drupalcode.org/viewvc/drupal/contributions/modules/chatroom/chatroomread.php?revision=1.29.4.19&amp;view=markup" target="_blank">http://drupalcode.org/viewvc/drupal/contributions/modules/chatroom/chatroomread.php?revision=1.29.4.19&amp;view=markup</a><br>

<br>
In particular:<br>
<br>
require_once &#39;./includes/bootstrap.inc&#39;;<br>
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);<br>
// Choose the minimum bootstrap level necessary for your module.<br>
<br>
// Put your code here.<br>
// See performance skyrocket.<br>
// Rejoice.<br>
<br>
Regards,<br>
Greg<br>
<div><div></div><div class="h5"><br>
On Sun, Feb 6, 2011 at 10:15 AM, John Mitchell &lt;<a href="mailto:mitchelljj98@gmail.com">mitchelljj98@gmail.com</a>&gt; wrote:<br>
&gt; Any reason why having a javascript timer fire every 2.5 second for an ajax<br>
&gt; request to my own callback(listed below) that all it does is return the<br>
&gt; contents of 2 _session variables would take up so much resources?<br>
&gt;<br>
&gt; John<br>
&gt;<br>
&gt; function refreshcarttimer() {<br>
&gt;     print($_SESSION[&#39;num_items&#39;] . &#39;,&#39; .  $_SESSION[&#39;uc_price&#39;]);<br>
&gt;     return;<br>
&gt; }<br>
&gt;<br>
&gt; /**<br>
&gt;  * Implementation of hook_menu().<br>
&gt;  */<br>
&gt;<br>
&gt; function product_type_menu() {<br>
&gt;   $items = array();<br>
&gt;<br>
&gt;   $items[&#39;cart/refreshcarttimer&#39;] = array(<br>
&gt;     &#39;title&#39; =&gt; &#39;Refresh Shopping Cart&#39;,<br>
&gt;     &#39;description&#39; =&gt; &#39;Refresh Shopping Cart&#39;,<br>
&gt;     &#39;page callback&#39; =&gt; &#39;refreshcarttimer&#39;,<br>
&gt;     &#39;access callback&#39; =&gt; TRUE,<br>
&gt;     &#39;type&#39; =&gt; MENU_CALLBACK,<br>
&gt;   );<br>
&gt;   return $items;<br>
&gt; }<br>
&gt;<br>
&gt; On Sun, Feb 6, 2011 at 2:10 AM, John Mitchell &lt;<a href="mailto:mitchelljj98@gmail.com">mitchelljj98@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I have a javascript timer set to fire every 2.5 seconds so that I can set<br>
&gt;&gt; the current values for the items and total for the shopping cart summary.  I<br>
&gt;&gt; would like to be able to get these values from client side cookies or<br>
&gt;&gt; javascript global variables so that I don&#39;t have to make an ajax call to the<br>
&gt;&gt; server but I have found that the DOM elements are not accessible within the<br>
&gt;&gt; javascript function unless I run an ajax request to a page (listed below)<br>
&gt;&gt; and after it returns then the DOM elements are accessible (i.e.<br>
&gt;&gt; $(&quot;.num-items&quot;).html(numItems);) and now I can update them.  Having these<br>
&gt;&gt; ajax requests run every 2.5 seconds for every client will not scale.<br>
&gt;&gt;<br>
&gt;&gt; How can I make Drupal DOM elements accessible within a javascript function<br>
&gt;&gt; without having to do an ajax request to a page?<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; John<br>
&gt;&gt;<br>
&gt;&gt;     setInterval(&#39;updateShoppingCartInfo()&#39;, 2500);<br>
&gt;&gt;<br>
&gt;&gt;     function updateShoppingCartInfo(){<br>
&gt;&gt;         var xmlHttpReq = new XMLHttpRequest();<br>
&gt;&gt;         var url = &#39;https://&#39; + document.domain + &#39;/cart/refreshcarttimer&#39;;<br>
&gt;&gt;         xmlHttpReq.open(&#39;post&#39;, url, true);<br>
&gt;&gt;         xmlHttpReq.onreadystatechange = function() {<br>
&gt;&gt;                if (xmlHttpReq.readyState != 4)  {<br>
&gt;&gt;                    return;<br>
&gt;&gt;                }<br>
&gt;&gt;             else {<br>
&gt;&gt;                 var responseText = xmlHttpReq.responseText;<br>
&gt;&gt;                                 var numItems =<br>
&gt;&gt; responseText.substr(0,responseText.indexOf(&quot;,&quot;));<br>
&gt;&gt;                                 var ucPrice =<br>
&gt;&gt; responseText.substr(responseText.indexOf(&quot;,&quot;)+1);<br>
&gt;&gt;                                 $(&quot;.num-items&quot;).html(numItems);<br>
&gt;&gt;                                 $(&quot;.uc-price&quot;).html(ucPrice);<br>
&gt;&gt;             }<br>
&gt;&gt;         }<br>
&gt;&gt;         xmlHttpReq.send(null);<br>
&gt;&gt;     }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; John J. Mitchell<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; John J. Mitchell<br>
&gt;<br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
Greg Knaddison | 720-310-5623 | <a href="http://growingventuresolutions.com" target="_blank">http://growingventuresolutions.com</a><br>
<a href="http://masteringdrupal.com" target="_blank">http://masteringdrupal.com</a> - Videos and Tutorials<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>John J. Mitchell<br>