[Checkins] SVN: grokcore.view/new/ Remove or replace Grok-only stuff
Philipp von Weitershausen
philikon at philikon.de
Sat Aug 2 08:04:58 EDT 2008
Log message for revision 89203:
Remove or replace Grok-only stuff
Changed:
U grokcore.view/new/CHANGES.txt
U grokcore.view/new/CREDITS.txt
U grokcore.view/new/README.txt
D grokcore.view/new/TODO.txt
D grokcore.view/new/doc/
D grokcore.view/new/grokdocs/
D grokcore.view/new/grokwiki/
U grokcore.view/new/setup.py
D grokcore.view/new/utilities/
-=-
Modified: grokcore.view/new/CHANGES.txt
===================================================================
--- grokcore.view/new/CHANGES.txt 2008-08-02 11:58:41 UTC (rev 89202)
+++ grokcore.view/new/CHANGES.txt 2008-08-02 12:04:58 UTC (rev 89203)
@@ -1,391 +1,8 @@
-Grok changes
-************
+Changes
+=======
-0.14 (unreleased)
-=================
+1.0 (unreleased)
+----------------
-Restructuring
--------------
-
-* The ``grok.admin`` subpackage has been factored out to a separate
- package ``grokui.admin``. To have the Grok admin UI available in
- your environment, add ``grokui.admin`` to the required packages in
- the ``setup.py`` of your package.
-
-* Removed ``grok.Skin`` baseclass in favour of a ``grok.skin(name)``
- directive that can be used on layer interfaces. Also removed the
- ``IGrokLayer`` interface in favour of exposing ``IBrowserRequest``
- from the grok package.
-
-Bug fixes
----------
-
-* Replace zope.deprecation.tests.warn with grok.testing.warn to:
-
- * Make the signature identical to warnings.warn
-
- * To check for \*.pyc and \*.pyo files.
-
- When zope.deprecation is fixed this warn() function can be removed again.
- Makes all the tests pass under Python-2.5.
-
-0.13 (2008-06-23)
-=================
-
-Restructuring
--------------
-
-* The basic component base classes (``Adapter``, ``MultiAdapter``,
- ``GlobalUtility``), their grokkers, as well as many of the basic
- directives have been factored out to a reusable
- ``grokcore.component`` package.
-
-* Ported directives to Martian's new directive implementation. As a
- result, many helper functions that were available from ``grok.util``
- were removed. The functionality is mostly available from the
- directives themselves now.
-
-* Refactored class grokkers to make use of Martian's new declarative
- way for retrieving directive data from classes, and Martian's new
- declarative way to write grokkers. See the `upgrade notes`_
- (``doc/upgrade.txt``) for more information.
-
-Feature changes
----------------
-
-* ``GrokTemplate`` sets up the namespaces for the template by calling
- ``default_namespace() ``on the view component the template is
- associated with. As a result, ``ViewletManagers`` and ``Viewlet``
- can now push in the ``viewletmanager`` and ``viewlet`` namespaces
- into the template.
-
-* Updated tutorial section about grokproject to fit the latest changes.
-
-* Added ``grok.traversable`` directive for easy traversal to attributes and
- methods.
-
-* ``grok.require()`` can refer to subclasses of ``grok.Permission``
- directly, instead of their id. This, for one, avoids making typos in
- permission ids. Permission components *do* still need the
- grok.name() directive for defining the permission's id.
-
-* Added an optional parameter ``data`` to the method ``url()`` that
- accepts a dictionary that is then converted to a query string. See
-
- http://grok.zope.org/documentation/how-to/generate-urls-with-the-url-function-in-views/view
-
-* Added an ``OrderedContainer`` component.
-
-* Introduced the new `sphinx`-based documentation engine. See
- grokdocs/README.txt for details.
-
-* Merged the versions from the 3.4 KGS (known good set):
- http://download.zope.org/zope3.4/versions-3.4.0c1.cfg
-
- We are now using the latest Zope 3 releases for all Zope packages.
- For upgrade notes, see doc/upgrade.txt for more information.
-
-* Added support for easier test setup based on ``z3c.testsetup``. This
- is a more stable and more powerful implementation of
- ``grok.testing.register_all_tests()``. See
-
- http://grok.zope.org/documentation/how-to/tests-with-grok-testing
-
- for details.
-
-* There is now a new ``IContext`` interface available. If you make
- your class implement that interface, it (and its subclasses) will be
- candidates for being a context in a module (for automatic context
- lookup if ``grok.context`` is not present). This relies on a feature
- introduced in ``grokcore.component`` 1.1.
-
-* ``grok.Model`` implements ``grok.interfaces.IContext`` now (which is
- imported from ``grokcore.component``). ``grok.Container`` now
- implements ``grok.interfaces.IContainer``. Traversers and default
- views have been set up for these interfaces, so that new
- implementations that function as a model or container can be easily
- created. Just use ``grok.implements(IContainer)`` or
- ``grok.implements(IContext)``. This is useful for Grok extensions
- that want to implement new content classes.
-
-Bug fixes
----------
-
-* Fix https://bugs.launchpad.net/grok/+bug/226555: the ``url()`` method on
- ``ViewletManager`` and ``Viewlet`` has been removed now that there's easy
- access to the view component the viewlet(manager) is registered for.
-
-* Fix https://bugs.launchpad.net/grok/+bug/231106: Use the
- viewletmanager.sort() method for sorting viewlets by using
- util.sort_components().
-
-* grok.REST views now have a properly set ``__parent__`` attribute and
- will correctly allow acquisition from parent objects, as it's used
- by the security policy for acquiring local grants, for example.
-
-* Fix https://bugs.launchpad.net/grok/+bug/229677:
- zope.app.securitypolicy egg missing. Now zope.app.securitypolicy
- 3.4.6 is additionally required by Grok and fetched by buildout.
-
-* Removed first testsetup hack from grok.testing.
-
-* Version 2.1 of z3c.autoinclude contained code that caused Grok to
- fail to start on some platforms if the system-supplied Python was
- used (at least on some versions of Ubuntu and Debian). Now include
- version 2.2 of z3c.autoinclude which should fix this problem. This
- fix was also made on Grok 0.12 in its online versions list after
- release.
-
-* Port fix of zope.formlib to correctly adapt the context to a FormField's
- interface, not the field.
-
-0.12 (2008-04-22)
-=================
-
-Feature changes
----------------
-
-* The new release needs new version of grokproject, please do::
-
- $ easy_install -U grokproject
-
-* Added testsetup classes in grok.testing to improve easy setup of
- unit- and functional tests.
-
-* Add support for viewlets and viewlet managers, ``grok.Viewlet``
- and ``grok.ViewletManager``.
-
-* Add a new directive, ``grok.order()``, which can be used to help
- sort components. At the time it is not used yet, but we intend to
- use it for the viewlets support. Note that this means Grok now
- requires Martian 0.9.3 or higher. See ``grok.interfaces`` for more
- documentation on this directive.
-
-* Now depend on ``z3c.autoinclude``. This allows the use of the
- ``<includeDependencies package="."/>`` directive, which automatically loads
- up ZCML needed for the dependencies listed in your project's
- ``setup.py``. The new release of grokproject adds this line
- automatically. Upgrade ``grokproject`` to make use of this
- functionality in new projects::
-
- $ easy_install -U grokproject
-
-* Classes that end with "-Base" are no longer implicitly considered base
- classes. These classes need to have the grok.baseclass() directive added to
- them explicitly.
-
- See also the `upgrade notes`_ for information on how to update
- your existing projects.
-
-.. _`upgrade notes`: http://grok.zope.org/project/upgrade-notes
-
-Bug fixes
----------
-
-* Do not register the publishTraverse and browserDefault methods of the
- JSON component as views.
-
-* Methods with names that start with an '_' are not registered as views
- for XMLRPC, REST and JSON components.
-
-* Use a configuration action for the registration of the static directory.
-
-* Fix imports from zope.app.securitypolicy.
-
-* Grok does not raise a GrokError anymore when it finds unassociated
- templates, but will issue a UserWarning.
-
-* Fix https://bugs.launchpad.net/grok/+bug/161948: grok.testing.grok()
- now also loads the ZPT template factories so that unit tests that
- need to configure views with ZPT templates continue to work.
-
-* Changed a few remaining references to ``grok.grok`` and
- ``grok.grok_component`` to their correct equivalents in
- ``grok.testing``.
-
-* ``grok.testing.grok_component()`` could not be used in a pure
- doctest. This needed a bugfix in Martian (since 0.9.2). Add a test
- that demonstrates this problem.
-
-* Fix https://bugs.launchpad.net/grok/+bug/162437: grok.Form and its
- subclasses did not implement IBrowserView.
-
-* Fix https://bugs.launchpad.net/grok/+bug/185414: grok introspector
- was broken for zipped eggs.
-
-* Fix https://bugs.launchpad.net/grok/+bug/125720: server control form
- had shutdown as default action, even when entering an admin message.
-
-* Fix https://bugs.launchpad.net/grok/+bug/80403: Fix situation where
- a module name is identical to the package name. At least modules
- with templates can now have same name as their package.
-
-* Multiple skins and REST protocols could be registered under the same
- name, but this is actually a conflict. Now give configuration
- conflict error when someone tries this.
-
-* Overriding traversal behavior using the ``traverse()`` method or
- ``grok.Traverser`` failed in the face of (REST) ``PUT`` and
- ``DELETE``. XML-RPC also failed when custom traversal was in use.
-
-* Fix https://bugs.launchpad.net/grok/+bug/187590 where config action
- discriminators for permission and role registrations were incorrect.
-
-* Permission definitions received the wrong, too high, configure
- action priority (not to be confused with grokker priority). In some
- cases this caused permissions to be defined later than they were
- used. Use a low action priority instead for permissions.
-
-Restructuring
--------------
-
-* Refactor commonalities out of meta.py.
-
-* zope.app.securitypolicy is no longer used. zope.securitypolicy provides
- all securitypolicy features used by Grok.
-
-0.11 (2007-11-08)
-=================
-
-Feature changes
----------------
-
-* Integrated skins and layers: ``grok.layer``, ``grok.IGrokLayer``,
- ``grok.Skin``.
-
-* Grok now supports hooking in new template languages without much work.
- See also doc/minitutorials/template-languages.txt. See Restructuring below
- for more techinical info.
-
-* Accessing a template macro via context/@@the_view/the_template is now
- deprecated for the standard ZPT story of using
- context/@@the_view/macro/the_template.
-
-* There is now a grok.direct() directive that can be used on GlobalUtilities
- to mark that the class provides the utility interface directly and need
- no instantiation.
-
-* Removed ``grok.define_permission`` in favor of the
- ``grok.Permission`` component base class. You should now subclass
- this base class to define permissions. See also
- doc/minitutorials/permissions.txt
-
-* Added the ``grok.Role`` component base class to define roles.
-
-* The admin UI now displays and offers deletion of broken objects.
-
-* Removed support for defining model schemas using an inner class with
- the special name ``fields``. This was abandoned in favor the usual
- Zope 3 way of defining schemas in interfaces and implementing them
- in our Grok models.
-
-* Integrated REST support. See doc/minitutorials/rest.txt for usage
- information.
-
-Bug fixes
----------
-
-* Remove zc.recipe.egg, zc.recipe.filestorage, zc.recipe.testrunner,
- zc.zope3recipes from version requirements.
-
-* The admin UI now shows interfaces in modules.
-
-* ``handle...`` is not a special function name anymore.
-
-* Views no longer need a custom ``AbsoluteURL`` view to determine
- their URL, since each instance now properly gets a ``__name__``
- attribute.
-
-* buildout.cfg extends versions.cfg to pin down the versions of the
- dependency tree. See also http://grok.zope.org/releaseinfo/readme.html
-
-Restructuring
--------------
-
-* Grokkers now emit configuration actions, much like ZCML directive
- handlers do. If you defined custom grokkers, see doc/upgrade.txt for
- more information.
-
-* The new pluggable template language support includes some restructuring:
-
- - GrokPageTemplate is now split up into two. BaseTemplate, on which all
- templates need to be based, and GrokTemplate, which also provides a
- set of methods for easy integration of templating languages.
-
- - All objects based on GrokTemplate are now grokked, instead of having
- separate grokkers for each type of template.
-
- - The View is now completely template-language agnostic, which makes it
- easy to hook in new page template languages.
-
- - There are now new interfaces (ITemplate and ITemplateFileFactory)
- used when you implement support for a new templating language.
-
-* Changed the way grok's functional tests are set up. Instead of each
- test case doing its own test setup, it is now done once by the
- ftesting layer. This avoids ordering problems when some ftests
- would influence the environment of other ftests that were run later
- in time.
-
-0.10.2 (2007-10-24)
-===================
-
-Bug fixes
----------
-
-* Remove zc.recipe.egg, zc.recipe.filestorage, zc.recipe.testrunner,
- zc.zope3recipes from version requirements.
-
-* Require zope.app.error = 3.5.1
-
-0.10.1 (2007-10-10)
-===================
-
-Bug fixes
----------
-
-* buildout.cfg extends versions.cfg to pin down the versions of the
- dependency tree. This should avoid the situation where we release
- Grok, some dependency changes, and Grok breaks as a result. In
- conjunction with this we will also be releasing a new version of
- grokproject that will use this version infrastructure by default.
-
- For more information about this change, see:
- http://grok.zope.org/releaseinfo/readme.html
-
-0.10 (2007-08-21)
-=================
-
-Feature changes
----------------
-
-* Integrated admin user interface.
-
-* Configuration using Martian (http://pypi.python.org/pypi/martian).
-
-* Flash message infrastructure included.
-
-* Adjust dependencies for Grok so that grokproject should work on
- Windows.
-
-Bug fixes
----------
-
-* A fix in Martian where multiple grok.Model or grok.Container classes
- could result in something being found as a context twice.
-
-0.9 series (early 2007 until July 2007)
-=======================================
-
-Feature changes
----------------
-
-Grok was released in "continuous release" mode from SVN during this period.
-
-0.1 series (September 2006 until early 2007)
-============================================
-
-Feature changes
----------------
-
-Grok was created in September 2006.
+* Created ``grokcore.view`` in July 2008 by factoring security-related
+ components, grokkers and directives out of Grok.
Modified: grokcore.view/new/CREDITS.txt
===================================================================
--- grokcore.view/new/CREDITS.txt 2008-08-02 11:58:41 UTC (rev 89202)
+++ grokcore.view/new/CREDITS.txt 2008-08-02 12:04:58 UTC (rev 89203)
@@ -1,66 +1,6 @@
CREDITS
=======
-* Martijn Faassen (original developer)
+This package was extracted from the Grok web framework.
-* Wolfgang Schnerring (original developer)
-
-* Christian Theune (original developer)
-
-* Philipp von Weitershausen (original developer)
-
-* Jan-Wijbrand Kolman (Grok Zwei sprint, meta grokker improvements)
-
-* Uli Fouquet (admin interface, summer of code student)
-
-* Darryl Cousins (website, admin interface)
-
-* Kevin Teague (website)
-
-* Tim Terlegård (JSON support)
-
-* Sebastian Ware (website effort, documentation)
-
-* Christian Zagrodnick (early grok discussions)
-
-* Mikhail Kashkin
-
-* Wim Boucqaert (admin interface layout improvements)
-
-* Kevin M. Smith (skins and layers support)
-
-* Luciano Ramalho
-
-* Lennart Regebro (template pluggability)
-
-* Guido Wesdorp (template pluggability)
-
-* Brandon Rhodes (template pluggability)
-
-* Godefroid Chapelle (conversion to Z3 configuration actions)
-
-* ME GROK (team mascot)
-
-Thank you
----------
-
-* The Zope 3 developers, who provided the mountain for Grok to stand
- on.
-
-* gocept for hosting the first grok sprint in Halle, Germany. Special
- thanks to Felicia Faassen Wong, Christian Zagrodnick and Magda
- Motyka for the delicious food.
-
-* Philipp von Weitershausen for hosting the second grok sprint in
- Dresden, Germany. Special thanks to Heinrich von Jagwitz for the
- delicious food.
-
-* The organizers of EuroPython 2007 in Vilnius for allowing us to host
- the third Grok sprint after EuroPython there.
-
-* GfU Cyrus in Cologne for generously hosting the fourth Grok sprint
- (Neanderthal sprint).
-
-* ID StudioLab of the faculty of Industrial Design at the Delft
- University of Technology for sponsoring the development of REST
- support in Grok.
+For credits, see the CREDITS file in the main ``grok`` project itself.
Modified: grokcore.view/new/README.txt
===================================================================
--- grokcore.view/new/README.txt 2008-08-02 11:58:41 UTC (rev 89202)
+++ grokcore.view/new/README.txt 2008-08-02 12:04:58 UTC (rev 89203)
@@ -1,46 +1 @@
-Grok
-****
-
-What is grok?
-=============
-
-Grok makes it easier to get started with a Zope 3 web application.
-
-Grok uses the Component Architecture and builds on Zope 3 concepts
-like content objects (models), views, and adapters. Its simplicity
-lies in using **convention over configuration** and **sensible
-defaults** when wiring components together. That means neither a
-configuration language like ZCML nor a lot of repetition are needed to
-create a web application with grok.
-
-You can find out much more about Grok at our http://grok.zope.org
-website.
-
-Who is grok?
-============
-
-Grok is a friendly caveman from the Stone Age. He has a big club that
-he hunts mammoths with. He will also use this club to smash anything
-he doesn't like.
-
-"ME GROK SMASH ZCML!"
-
-Getting grok
-============
-
-The easiest way to get started with grok is to install the
-`grokproject <http://cheeseshop.python.org/pypi/grokproject>`_ package
-(e.g. via ``easy_install grokproject``) and then create a new project
-area by calling the ``grokproject`` script like so::
-
- $ grokproject MyProject
- ... many lines of output here
-
-This will create a project area in ``MyProject`` as well as download
-and install grok and Zope 3 (the application server grok is built on).
-
-You can also get grok from the subversion repository::
-
- svn co svn://svn.zope.org/repos/main/grok/trunk grok
-
-Then follow the instructions of ``INSTALL.txt``.
+TODO
Deleted: grokcore.view/new/TODO.txt
===================================================================
--- grokcore.view/new/TODO.txt 2008-08-02 11:58:41 UTC (rev 89202)
+++ grokcore.view/new/TODO.txt 2008-08-02 12:04:58 UTC (rev 89203)
@@ -1,121 +0,0 @@
-====
-TODO
-====
-
-Meta
-====
-
-- Check demo applications for issues with patterns (grok wiki, ldap address
- book)
-
-
-Core
-====
-
-- choice fields / sources (theuni)
-
-- testing strategy for the tutorial (faassen)
-
-- make it easier to write tests (wosc, faassen)
-
-- error reporting during grokking (provide file/line-number information
- on our extrinsically generated errors) (philikon)
-
-- What will happen if we make a utility a old style class and use the
- MRO stuff. Since we don't support non-persistent local utilities yet this
- may be a rare case.
-
-- What about local utilities that don't subclass persistent? Perhaps we
- can look for IPersistent and give an error if the utility doesn't
- state it is.
-
-- Change error messages: whenever we report about a callable, add
- () to the name. Core Python expections do this.
-
-- JSON support similar to XMLRPC.
-
-
-Schema/formlib support
-----------------------
-
-- support nested class 'fields' directly on a view (do we really want this?)
-
-- list form for grok.Container (w/ zc.table?)
-
-- delete action on list form
-
-- make formlib macros available in some form?
-
-- what about subclassing a model that has a 'fields'?
-
-
-Need to discuss
----------------
-
-- Do we want to ship Grok with a javascript library dependency such as
- MochiKit, to enable out of-the-box AJAX?
-
-- Make it even easier to set up the catalog (intids should be set up
- automatically if not already present. Perhaps Index grokkers?).
-
-- Testing support. Test grokkers?
-
-- Error pages: make it easy to register application-specific error
- pages for exceptions.
-
-- Easier queries: integrate hurry.query in some way?
-
-- fall back to a static resource that is defined in a package on a higher
- level if no static resource directory is defined locally in a package?
-
-- grok.grokkable (to allow grokking of imported things)
-
-- skins
-
-- form redirect
-
-- authentication (pau integration) (faassen)
-
-- sessions (get the session information for something, similar to
- annotations?)
-
-- menus - define a menu, associate a view with a menu (module-level,
- class-level)
-
-- making new widgets (faassen, philikon)
-
-- IMPORTANT: different strategies: grok.definefoo() versus n =
- grok.Foo(), watch out for consistency/symmetry/...
-
-- use ZCML's conflict resolution machinery; actions for Grok.
-
-- do not accept automatic template directory guessing convention for
- __init__.py, bail out with grok error instead?
-
-- grok.name, grok.template class restrictions (e.g. grok.template
- should only be usable from grok.View subclasses)
-
-- support grok.template(template) in addition to
- grok.template('name_of_template')?
-
-- support grok.resource on view class level?
-
-- should grok.context and grok.Model be order-dependent?
- (so their meaning becomes "below here, this is the context")
-
-- Do we want to initialize model attributes for any schema that the model
- implements (in addition to the initialization that is taking place for the
- model-level fields)?
-
-
-Punt
-----
-
-- making new fields
-
-- viewlets / content providers (LATER)
-
-- RDB - via extension: megrok.sqlalchemy for example - make it easy to
- go between the different schema implementations
-
-- containment constraints (wait for zope 3 to do them right)
Modified: grokcore.view/new/setup.py
===================================================================
--- grokcore.view/new/setup.py 2008-08-02 11:58:41 UTC (rev 89202)
+++ grokcore.view/new/setup.py 2008-08-02 12:04:58 UTC (rev 89203)
@@ -8,14 +8,11 @@
read('README.txt')
+ '\n' +
read('CHANGES.txt')
- + '\n' +
- 'Download\n'
- '********\n'
)
setup(
- name='grok',
- version='0.14dev',
+ name='grokcore.view',
+ version='1.0dev',
author='Grok Team',
author_email='grok-dev at zope.org',
url='http://grok.zope.org',
@@ -32,61 +29,23 @@
packages=find_packages('src'),
package_dir = {'': 'src'},
+ namespace_packages=['grokcore'],
include_package_data = True,
zip_safe=False,
install_requires=['setuptools',
'martian >= 0.10',
- 'grokcore.component >= 1.5',
- 'simplejson',
- 'pytz',
- 'ZODB3',
- 'zope.annotation',
- 'zope.app.apidoc',
- 'zope.app.applicationcontrol',
- 'zope.app.appsetup',
- 'zope.app.authentication',
- 'zope.app.catalog',
- 'zope.app.component',
- 'zope.app.container',
- 'zope.app.folder',
- 'zope.app.intid',
- 'zope.app.keyreference',
- 'zope.app.pagetemplate',
- 'zope.app.publication',
- 'zope.app.publisher',
- 'zope.app.renderer',
- 'zope.app.security',
- 'zope.app.testing',
- 'zope.app.twisted',
- 'zope.app.zcmlfiles',
- 'zope.component',
- 'zope.configuration',
- 'zope.dottedname',
- 'zope.deprecation',
- 'zope.event',
- 'zope.formlib',
- 'zope.hookable',
- 'zope.i18nmessageid',
- 'zope.interface',
- 'zope.lifecycleevent',
- 'zope.location',
- 'zope.pagetemplate',
- 'zope.proxy',
- 'zope.publisher',
+ 'grokcore.component >= 1.5.1',
+ 'grokcore.security',
'zope.schema',
'zope.security',
- 'zope.securitypolicy',
- 'zope.testing',
'zope.traversing',
+ 'zope.app.publisher',
+ 'zope.app.pagetemplate',
+ # for ftests:
+ # TODO move these to extra_requires?
'zope.testbrowser',
- 'zope.viewlet',
- 'zc.catalog',
- 'z3c.flashmessage',
- 'z3c.autoinclude',
- 'z3c.testsetup',
- # deprecated packages, there for backwards compatibility
- 'zope.app.error',
- 'zope.app.securitypolicy',
- 'zope.app.session',
+ 'zope.securitypolicy',
+ 'zope.app.zcmlfiles',
+ 'zope.app.authentication',
],
)
More information about the Checkins
mailing list