Thanks Michael, I did manage to get as far as the following error: TemplateEngineMissing: Please install a plugin for "json" to use its functionality.
Full trace below: ******************************************************************************************** URL: http://localhost:8080/project/fetch/798 Module weberror.evalexception:431 in respond view << try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) # Don't create a list from a paste.fileapp object >> app_iter = self.application(environ, detect_start_response) Module tg.configuration:655 in wrapper view << log.debug("Making request body seekable") Request(environ).make_body_seekable() return app(environ, start_response) return wrapper >> return app(environ, start_response) Module tg.configuration:555 in remover view << def remover(environ, start_response): try: return app(environ, start_response) finally: log.debug("Removing DBSession from current thread") >> return app(environ, start_response) Module repoze.tm:19 in __call__ view << return start_response(status, headers, exc_info) try: result = self.application(environ, save_status_and_headers) except: self.abort() >> result = self.application(environ, save_status_and_headers) Module repoze.who.middleware:107 in __call__ view << wrapper = StartResponseWrapper(start_response) app_iter = app(environ, wrapper.wrap_start_response) # The challenge decider almost(?) always needs information from the >> app_iter = app(environ, wrapper.wrap_start_response) Module tw.core.middleware:43 in __call__ view << def __call__(self, environ, start_response): return self.wsgi_app(environ, start_response) def wsgi_app(self, environ, start_response): >> return self.wsgi_app(environ, start_response) Module tw.core.middleware:68 in wsgi_app view << else: # Pass request downstream resp = req.get_response(self.application) return resp(environ, start_response) finally: >> resp = req.get_response(self.application) Module webob:1325 in get_response view Module webob:1293 in call_application view Module tw.core.resource_injector:68 in _injector view << def _injector(environ, start_response): req = Request(environ) resp = req.get_response(app) content_type = resp.headers.get('Content-Type','text/ plain').lower() if 'html' in content_type: >> resp = req.get_response(app) Module webob:1325 in get_response view Module webob:1293 in call_application view Module beaker.middleware:81 in __call__ view << self.cache_manager) environ[self.environ_key] = self.cache_manager return self.app(environ, start_response) >> return self.app(environ, start_response) Module beaker.middleware:160 in __call__ view << headers.append(('Set-cookie', cookie)) return start_response(status, headers, exc_info) return self.wrap_app(environ, session_start_response) def _get_session(self): >> return self.wrap_app(environ, session_start_response) Module routes.middleware:130 in __call__ view << environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'] [:-1] response = self.app(environ, start_response) # Wrapped in try as in rare cases the attribute will be gone already >> response = self.app(environ, start_response) Module pylons.wsgiapp:125 in __call__ view << controller = self.resolve(environ, start_response) response = self.dispatch(controller, environ, start_response) if 'paste.testing_variables' in environ and hasattr(response, >> response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:324 in dispatch view << if log_debug: log.debug("Calling controller class with WSGI interface") return controller(environ, start_response) def load_test_env(self, environ): >> return controller(environ, start_response) Module projects.lib.base:32 in __call__ view << request.identity = request.environ.get('repoze.who.identity') tmpl_context.identity = request.identity return TGController.__call__(self, environ, start_response) >> return TGController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ view << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call view << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call view << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module tg.controllers:857 in _perform_call view << return result = DecoratedController._perform_call( self, controller, params, remainder=remainder) except HTTPException, httpe: >> self, controller, params, remainder=remainder) Module tg.controllers:182 in _perform_call view << controller.decoration.run_hooks('before_render', remainder, params, output) response = self._render_response(controller, output) controller.decoration.run_hooks('after_render', response) return response >> response = self._render_response(controller, output) Module tg.controllers:321 in _render_response view << if engine_name not in _configured_engines(): template_options = dict(config).get('buffet.template_options', {}) buffet.prepare(engine_name, **template_options) _configured_engines().add(engine_name) >> buffet.prepare(engine_name, **template_options) Module pylons.templating:409 in prepare view << if not Engine: raise TemplateEngineMissing('Please install a plugin for ' '"%s" to use its functionality' % engine_name) engine_name = alias or engine_name extra_vars_func = config.pop(engine_name + '.extra_vars_func', None) >> '"%s" to use its functionality' % engine_name) TemplateEngineMissing: Please install a plugin for "json" to use its functionality *************************************************************************************************** Does this mean that I need to find additional software (plugin) to install on the server? Thanks, Michael On Feb 22, 1:34 am, Michael Pedersen <[email protected]> wrote: > In production mode (debug=false), you will receive emails (if you have > things configured properly) giving you a full stack trace. An error 500 > would cause that stack trace. > > And: Having that stack trace would help us help you. Heck, you might even > figure it out without us. Please get the email config set up, get the stack > trace, and send it in? We'll be happy to help. > > > > > > On Mon, Feb 21, 2011 at 5:52 AM, mpearce <[email protected]> wrote: > > My TG2 application is running on Windows and has a number of functions > > using JSON to update dropdown boxes and FlexGrid widgets (tw.jquery) > > etc. These functions work well in the development environment (ie. > > paster serve in a dos prompt window). However, in the production > > environment, where the server runs as a windows service (setup using > > wsgisvc), the jason functions do not work. The server returns status > > 500. Anyone else have this problem? > > > Thanks, Michael > > > -- > > You received this message because you are subscribed to the Google Groups > > "TurboGears" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > >http://groups.google.com/group/turbogears?hl=en. > > -- > Michael J. Pedersen > My IM IDs: Jabber/[email protected], ICQ/103345809, AIM/pedermj022171 > Yahoo/pedermj2002, MSN/[email protected] Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/turbogears?hl=en.

