>>>> I know quite a bit about  tg2 app that will serve 25 million dynamic
>>>> page views a day, it's not yet in production but some performance
>>>> testing has been done.
>>>>
>>>> We will deploy with nginx load balancing mog-wsgi instances that serve
>>>> up the dynamic content.  It's a bit more complicated than this, but
>>>> basically nginx will serve up static content, and we're expecting to
>>>> be able to easily handle this traffic with a couple of quad core web
>>>> server boxes.   We could probably get away with one, but we want to
>>>> have load balancing for redundancy not just for performance.
>>>>
>>>> We're not using ToscaWidgets, the transaction manager, and have been
>>>> using mongodb for data storage.   We had some previous templates
>>>> written in Jinja, so we're using that for templates, otherwise we'd
>>>> either use Mako or genshi, but without any match tags.
>>>>
>>> If you don't mind me asking, what did you decide to use instead of
>>> ToscaWidgets and what were your reasons?
>>>
>>
>> Only Mark can answer that question but I also don't use any widgets.
>> Widgets are typically used for UI elements like forms and such and I
>> use a javascript library for these things. This means that the web app
>> only sends JSON that define a UI (imagine a simple dict) and on the
>> client a javascript library consumes this JSON and presents the user
>> with the appropriate elements. I use extjs actually.
>>
>> Reasons: providing a UI definition from the web app as opposed to
>> rendered html allows connecting to your web app with clients that are
>> not web browsers. For example I distribute a desktop app that users
>> can use to talk to the web app. This desktop app also understands the
>> JSON UI definition format I use so it can present the user with a UI
>> of its own too.
>>
>> This setup makes your web app code much cleaner, more maintainable and
>> more extendable. I understand that widgets, tosca in particular, are
>> designed to not pollute your web app code and separate concerns but
>> having all UI stuff on the client in javascript code is even better in
>> my opinion. Complex web apps have javascript in them anyway. And these
>> days there are really fantastic javascript libraries out there that
>> make UI design absolutely painless, extjs is just one example, there
>> are tons more.
>>
>> Cheers,
>> Daniel
>>
>>
> Daniel
>
> May I ask how you handle authentication with the Javascript backend?
> I'm interested in doing some Flex front-ends but haven't had the time to
> dig into the authentication integration with the TG backend.

Authentication is done in the same way as without any javascript
stuff. I.e. you decorate the methods of your controllers with the
appropriate @identity.require decorators or wrap the entire controller
in identity.SecureObject (these are the tg1 names, maybe tg2 is
different, but same concept).

The javascript client code will post an http request and one of your
methods will return JSON. If the user is not authenticated you send
some error message in the JSON response, the client code will check
this, if it's there, display an error message or redirect or whatever.
If there is no error, then the user was authenticated and the client
code can start processing the legitimate JSON response it asked for.

Cheers,
Daniel



-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown

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

Reply via email to