[Zope3-checkins] SVN: Zope3/trunk/src/zope/ Convert more docs to
ReST.
Fred L. Drake, Jr.
fred at zope.com
Tue Jul 6 17:15:35 EDT 2004
Log message for revision 26145:
Convert more docs to ReST.
(Merged from ZopeX3-3.0 branch revision 26143.)
-=-
Deleted: Zope3/trunk/src/zope/app/session/session.stx
===================================================================
--- Zope3/trunk/src/zope/app/session/session.stx 2004-07-06 21:00:37 UTC (rev 26144)
+++ Zope3/trunk/src/zope/app/session/session.stx 2004-07-06 21:15:35 UTC (rev 26145)
@@ -1,55 +0,0 @@
-Session Support
----------------
-
-Sessions allow us to fake state over a stateless protocol - HTTP. We do this
-by having a unique identifier stored across multiple HTTP requests, be it
-a cookie or some id mangled into the URL.
-
-The IBrowserIdManager Utility provides this unique id. It is responsible
-for propagating this id so that future requests from the browser get
-the same id (eg. by setting an HTTP cookie)
-
-ISessionDataContainer Utilities store session data. The ISessionDataContainer
-is responsible for expiring data.
-
-ISessionDataContainer[product_id] returns ISessionProductData
-ISessionDataContainer[product_id][browser_id] returns ISessionData
-
-ISession(request)[product_id] returns ISessionData
-
-An ISession determines what ISessionDataContainer to use by looking
-up an ISessionDataContainer using the product_id as the name, and
-falling back to the unnamed ISessionDataContainer utility. This allows
-site administrators to select which ISessionDataContainer a particular
-product stores its session data in by registering the utility with
-the relevant name(s).
-
-Python example::
-
- >>> browser_id = IBrowserId(request)
-
- >>> session_data = ISession(request)['zopeproducts.fooprod']
- >>> session_data['color'] = 'red'
-
- or for the adventurous....
-
- >>> explicit_dc = getUtility(ISessionDataContainer, 'zopeproducts.fooprod')
- >>> session_data = explicit_dc['zopeproducts.fooprod'][str(browser_id)]
- >>> session_data = Session(explicit_dc, browser_id)['zopeproducts.fooprod']
- >>> session_data['color'] = 'red'
-
-
-Page Template example::
-
- XXX: Needs update when TALES adapter syntax decided
-
- <tal:x condition="exists:session/zopeproducts.fooprod/count">
- <tal:x condition="python:
- session['zopeproducts.fooprod']['count'] += 1" />
- </tal:x>
- <tal:x condition="not:exists:session/zopeprodicts.fooprod/count">
- <tal:x condition="python:
- session['zopeproducts.fooprod']['count'] = 1 />
- </tal:x>
- <span content="session/zopeproducts.fooprod/count">6</span>
-
Copied: Zope3/trunk/src/zope/app/session/session.txt (from rev 26143, Zope3/branches/ZopeX3-3.0/src/zope/app/session/session.txt)
Property changes on: Zope3/trunk/src/zope/app/session/session.txt
___________________________________________________________________
Name: cvs2svn:cvs-rev
+ 1.1
Name: svn:eol-style
+ native
Deleted: Zope3/trunk/src/zope/i18n/i18nobject.stx
===================================================================
--- Zope3/trunk/src/zope/i18n/i18nobject.stx 2004-07-06 21:00:37 UTC (rev 26144)
+++ Zope3/trunk/src/zope/i18n/i18nobject.stx 2004-07-06 21:15:35 UTC (rev 26145)
@@ -1,63 +0,0 @@
-I18n Objects
-
- I18n objects are used to internationalize content that cannot be translated
- via messages. The problem is three fold:
-
- - Internationalize an object iteself. The best example is an Image. Often
- people put text into an image that needs to be localized, but since it
- is a picture the text cannot be retrieved as a string. You therefore
- will need a mechanism to create a different version of the object for every
- language. (Note: This behavior is the same as currently implemented in
- the ZBabelObject.)
-
- - Internationalize fractions of the content. Let's say for example you
- wanted to internationalize the DublinCore information of your content
- object. In order for this to work out you need to have an
- I18n-supportive AttributeAnnotation. Solving this use case would be
- similar to some of the work David Juan did with
- InternationalizedContent in Localizer.
-
- - Formatting Objects. This problem involves converting basic or complex
- types into a localized format. Good examples for this are decimal
- numbers and date/time objects. In this case you would like to specify a
- format via a templating expression and then pass the object to the
- formatter to apply the parsed template. Initial steps for implementing
- the template parser have been already taken, therefore we only need to
- develop some interfaces and unittests here, so the parser developer
- (which will use the ICU C/C++ libraries) will (choose?) what parts of the parser
- to wrap for Python.
-
-
- The first two problems are very similar and can actually share the same
- interface for the language negotiation and redirection of the content
- request. I would therefore propose to have a II18nContent interface that
- somehow specifies how to get the and then redirect the call to the correct
- local content.
-
-
- I18nObject
-
- There will be an interface called II18nObject (which inherits I18nContent
- of course), which is a cameleon-like container, as it adapts to the
- properties of the contained object type. In order to accomplish all this,
- you will have to implement your own traverser which looks up the correct
- subobject.
-
-
- I18nAttributeAnnotation
-
- This object will basically provide an internationalized version of
- Zope.App.OFS.AttributeAnnotations. which will be accomplished in a similar
- manner as the I18nObject.
-
-
- One issue left to solve is how to know the language when we need to make the
- decision. These objects are **not** Views, therefore they do not know about
- the request variable.
-
- One way to solve the issue would be that I18nAttributeAnnotation, for
- example, would not actually implement the IAnnotations interface, but that
- there would be an Adapter converting the II18nAnnotations to
- IAnnotations. Since adapters are short-lived (meaning they are initialized
- for a particular call), we can safely store some language information in
- them in order to make the language decision.
Copied: Zope3/trunk/src/zope/i18n/i18nobject.txt (from rev 26143, Zope3/branches/ZopeX3-3.0/src/zope/i18n/i18nobject.txt)
Property changes on: Zope3/trunk/src/zope/i18n/i18nobject.txt
___________________________________________________________________
Name: cvs2svn:cvs-rev
+ 1.2
Name: svn:eol-style
+ native
More information about the Zope3-Checkins
mailing list