[Checkins] SVN: megrok.quarry/ adjust svn layout
Kevin Smith
kevin at mcweekly.com
Wed May 2 03:15:31 EDT 2007
Log message for revision 74989:
adjust svn layout
Changed:
D megrok.quarry/README.txt
A megrok.quarry/branches/
D megrok.quarry/buildout.cfg
D megrok.quarry/setup.py
D megrok.quarry/src/
A megrok.quarry/trunk/
A megrok.quarry/trunk/README.txt
A megrok.quarry/trunk/bootstrap/
D megrok.quarry/trunk/bootstrap/bootstrap.pyo
A megrok.quarry/trunk/buildout.cfg
A megrok.quarry/trunk/setup.py
A megrok.quarry/trunk/src/
D megrok.quarry/trunk/src/megrok/
D megrok.quarry/trunk/src/megrok.quarry.egg-info/
-=-
Deleted: megrok.quarry/README.txt
===================================================================
--- megrok.quarry/README.txt 2007-05-02 06:57:03 UTC (rev 74988)
+++ megrok.quarry/README.txt 2007-05-02 07:15:30 UTC (rev 74989)
@@ -1,201 +0,0 @@
-MEGROK.QUARRY
-=============
-
-author :: Kevin M. Smith
-
-Grok is an rapid application development framework built on top of the enterprise
-class Zope3's component architecture. http://grok.zope.org
-
-As of 0.9dev, Grok has no way of associating different views with different skins.
-MEGROK.QUARRY is an implementation of skins, layers and template re-use. It is
-useable today and based on discussions from the mailing list. It is hoped these
-new directives and grokkers will be considered for inclusion in the core one day.
-
-Change Log
-----------
-
-* 0.1 initial checkin
-
-Current Enhancements
---------------------
-
-* quarry.template directive enhancement
-
-* quarry.View (a skin-aware version of grok.View)
-
-* quarry.layer directive
-
-* quarry.Layer grokker
-
-* quarry.Skin grokker
-
-* quarry.ViewletManager, quarry.Viewlet (based Lennart Regebro's megrok.viewlet)
-
-* quarry.viewletmanager directive
-
-
-Template Sharing and Reuse
---------------------------
-
-Currently only inline pagetemplates are accessible via grok.template.
-
- >>> class Painting(grok.View):
- ... grok.template('cavepainting')
-
- >>> cavepainting = grok.PageTemplate("""
- ... <html><body><h1>GROK PAINT MAMMOTH!</h1></body</html>
- ... """)
-
-This works fine, but you can only access templates located in the same
-module, which limits template re-use.
-
-Using quarry.template, any template from any module may be accessed. Note,
-grok.View needs to be replaced with quarry.View, since grok.View has no notion
-of quarry.template.
-
- >>> class Painting(quarry.View):
- ... quarry.template('myproject.shared.cavepainting')
-
-myproject/shared.py
-
- >>> cavepainting = grok.PageTemplate("""
- ... <html><body><h1>GROK PAINT MAMMOTH!</h1></body</html>
- ... """)
-
-Also works with grok.PageTemplateFile
-
- >>> cavepainting = grok.PageTemplateFile(os.path.join('shared',
- ... 'cavepainting.pt'))
-
-And plain strings
-
- >>> cavepainting = """
- ... <html><body><h1>GROK PAINT MAMMOTH!</h1></body</html>
- ... """
-
-Even docstrings
-
- >>> class Painting(quarry.View):
- ... """<html><body><h1>GROK PAINT MAMMOTH!</h1></body</html>
- ... """
- ... quarry.template('myproject.app.Painting.__doc__')
-
-
-Skins, layers and grok, oh my!
-------------------------------
-
-As mentioned, Grok 0.9dev has no notion of skins or layers. The quarry.View
-grokker recognizes the quarry.layer directive. This directive is both a
-module level and class level driective.
-
-First let us define an admin skin, and a public skin.
-
- >>> class AdminLayer(quarry.Layer, IDebugLayer):
- ... pass
-
- >>> class Admin(quarry.Skin):
- ... grok.name('admin') # default, accessible as ++skin++admin
- ... grok.layer(AdminLayer)
-
- >>> class PublicLayer(quarry.Layer):
- ... pass
-
- >>> class Public(quarry.Skin):
- ... grok.name('public') # default name, accessible as ++skin++public
- ... grok.layer(PublicLayer) # must pass interface
-
-In our app, we associate layers to views as follows
-
- >>> from skin import AdminLayer
-
- >>> class AdminPanel(quarry.View):
- ... grok.layer(AdminLayer)
-
-Or we can associate layers at a module level
-
- >>> grok.layer(PublicLayer)
-
- >>> class MyPublicView(quarry.View):
- ... # defaults to PublicLayer
-
-
-Viewlets
---------
-
-Since I'd been hoping Grok would be template neutral to better compete with
-the other frameworks, I've been very resistant to Zope Page Templates. I've
-even come up with multiple scenarios to avoid using macros. But this is all
-nice and good but once you get hooked on ZPT's power, it's hard to deal with
-other templating options.
-
-Both quarry.ViewletManager and quarry.Viewlet are base on Lennart Regebro's
-megrok.viewlet.
-
-In this version both quarry.Viewlet and quarry.ViewletManager have been
-fashioned to be more grok.View-like. This means you can use quarry.template,
-view.url(), static, and any other methods you might find on a regular view.
-
-Also the quarry.viewletmanager directive has been added to associate viewlet
-with viewletmanager.
-
- >>> from megrok import quarry
-
- >>> class MyView(quarry.View):
- ... """<html metal:use-macro="context/@@public/page">
- ... <body>
- ... <metal:block fill-slot="pagecontent">
- ... <span tal:replace="structure provider:body" />
- ... </metal:block>
- ... </body></html>
- ... """
- ... quarry.template('myproject.app.MyView.__doc__')
-
- >>> class MenuManager(quarry.ViewletManager):
- ... grok.context(MyView) # associate viewletmanager with a view
- ... grok.name('body') #fill tal-namespace 'provide:body'
-
- >>> class Menu10(quarry.Viewlet):
- ... quarry.viewletmanager(MenuManager)
- ... def render(self):
- ... return "Fish Tacos"
-
- >>> class Menu20(quarry.Viewlet):
- ... quarry.viewletmanager(MenuManager)
- ... def render(self)l
- ... return "Buffalo Wings"
-
- >>> class Menu30(quarry.Viewlet):
- ... """<i>Side of Blue Cheese </i>"""
- ... quarry.viewletmanager(MenuManager)
- ... quary.template('myproject.app.Menu30.__doc__')
-
-The quarry.ViewletManager automatically sorts by viewlet class name. So
-Menu10 appears first and Menu30 appears last.
-
-
-install
--------
-
-* checkout via subversion
-* add megrok.quarry-meta to zcml of buildout instance
-
-
-Todo
-----
-
-* better documentation
-* quarry.TALNamespace
-* tests, tests, tests, currently they are intertwined in a seperate project
-* currently grok.Layer inherits from IDefaultBrowserLayer, don't do this
-
-
-Thank You
----------
-
-The entire Grok team and Zope3 communities for making web programming
-fun again.
-
-
-
-
-
Deleted: megrok.quarry/buildout.cfg
===================================================================
--- megrok.quarry/buildout.cfg 2007-05-02 06:57:03 UTC (rev 74988)
+++ megrok.quarry/buildout.cfg 2007-05-02 07:15:30 UTC (rev 74989)
@@ -1,51 +0,0 @@
-[test]
-working-directory = parts/instance
-eggs = megrok.quarry
- grok
-recipe = zc.recipe.testrunner
-extra-paths = /root/zope3/src
-defaults = ['--tests-pattern', '^f?tests$',
- '-v'
- ]
-
-[data]
-recipe = zc.recipe.filestorage
-
-[zope3]
-location = /root/zope3
-
-[buildout]
-parts = data instance test
-develop = .
- ../grok
-
-[instance]
-database = data
-eggs = setuptools
- grok
- megrok.quarry
-recipe = zc.recipe.zope3instance
-user = ksmith:123
-zcml = zope.annotation
- zope.copypastemove
- zope.formlib
- zope.i18n-meta
- zope.i18n.locales
- zope.publisher
- zope.security-meta
- zope.size
- zope.traversing
- zope.traversing.browser
- zope.app
- zope.app-meta
- zope.app.securitypolicy
- zope.app.securitypolicy-meta
- zope.app.authentication
- zope.app.catalog
- zope.app.intid
- zope.app.keyreference
- zope.app.twisted
- megrok.quarry-meta
- grok
- grok-meta
-
Deleted: megrok.quarry/setup.py
===================================================================
--- megrok.quarry/setup.py 2007-05-02 06:57:03 UTC (rev 74988)
+++ megrok.quarry/setup.py 2007-05-02 07:15:30 UTC (rev 74989)
@@ -1,28 +0,0 @@
-from setuptools import setup, find_packages
-
-version = '0.1'
-
-setup(name='megrok.quarry',
- version=version,
- description="Skins and layers for Grok.",
- long_description="""\
-""",
- # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
- classifiers=[],
- keywords="",
- author="Kevin Smith",
- author_email="kevin at mcweekly.com",
- url="",
- license="ZPL",
- package_dir={'': 'src'},
- packages=find_packages('src'),
- include_package_data=True,
- zip_safe=False,
- install_requires=['setuptools',
- 'grok',
- # -*- Extra requirements: -*-
- ],
- entry_points="""
- # -*- Entry points: -*-
- """,
- )
Copied: megrok.quarry/trunk/README.txt (from rev 74987, megrok.quarry/README.txt)
Copied: megrok.quarry/trunk/bootstrap (from rev 74987, megrok.quarry/bootstrap)
Deleted: megrok.quarry/trunk/bootstrap/bootstrap.pyo
===================================================================
(Binary files differ)
Copied: megrok.quarry/trunk/buildout.cfg (from rev 74987, megrok.quarry/buildout.cfg)
Copied: megrok.quarry/trunk/setup.py (from rev 74987, megrok.quarry/setup.py)
Copied: megrok.quarry/trunk/src (from rev 74987, megrok.quarry/src)
More information about the Checkins
mailing list