[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