[Checkins] SVN: grokcore.component/trunk/ Rewrote all of the basic documentation files for "grokcore.component",

Brandon Rhodes brandon at rhodesmill.org
Tue Mar 18 14:54:54 EDT 2008


Log message for revision 84757:
  Rewrote all of the basic documentation files for "grokcore.component",
  and removed "grokwiki" and "doc" and pared down the buildout. 
  

Changed:
  U   grokcore.component/trunk/CHANGES.txt
  U   grokcore.component/trunk/COPYRIGHT.txt
  U   grokcore.component/trunk/CREDITS.txt
  U   grokcore.component/trunk/INSTALL.txt
  U   grokcore.component/trunk/README.txt
  U   grokcore.component/trunk/TODO.txt
  U   grokcore.component/trunk/buildout.cfg
  D   grokcore.component/trunk/doc/
  D   grokcore.component/trunk/grokwiki/

-=-
Modified: grokcore.component/trunk/CHANGES.txt
===================================================================
--- grokcore.component/trunk/CHANGES.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/CHANGES.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,225 +1,9 @@
-Grok changes
-************
+grokcore.component changes
+**************************
 
-0.12 (unreleased)
-=================
+0.1 (unreleased)
+================
 
-Feature changes
----------------
-
-* 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
-  ``<autoinclude 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
-
-  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.
-
-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.component`` in March 2008
+  by copying things in ``grok``
+  and then renaming the module in all of the tests.

Modified: grokcore.component/trunk/COPYRIGHT.txt
===================================================================
--- grokcore.component/trunk/COPYRIGHT.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/COPYRIGHT.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,4 +1,4 @@
-Copyright (c) 2006 gocept gmbh & co. kg, Martijn Faassen and Philipp von
+Copyright (c) 2008 gocept gmbh & co. kg, Martijn Faassen and Philipp von
 Weitershausen
 All Rights Reserved.
 

Modified: grokcore.component/trunk/CREDITS.txt
===================================================================
--- grokcore.component/trunk/CREDITS.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/CREDITS.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,66 +1,4 @@
 CREDITS
 =======
 
-* Martijn Faassen (original developer)
-
-* 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.
+See the CREDITS file in the main ``grok`` project itself.

Modified: grokcore.component/trunk/INSTALL.txt
===================================================================
--- grokcore.component/trunk/INSTALL.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/INSTALL.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,63 +1,19 @@
 Preparing for grok development
 ------------------------------
 
-The Grok development sandbox is set up via `zc.buildout`_
+Install setuptools on your system, or use a setuptools-based
+environment like a "virtualenv" or a "buildout", and then install
+"grokcore.component".  Doing it from the command line looks like::
 
-.. _zc.buildout: http://cheeseshop.python.org/pypi/zc.buildout
+    $ sudo easy_install -U grokcore.component
 
-You may have setuptools already installed for your system Python. In
-that case, you may need to upgrade it first because buildout requires
-a very recent version::
+Then you can try importing it from your Python code.
 
-    $ sudo easy_install -U setuptools
-
-If this command fails because easy_install is not available, there is
-a good chance you do not have setuptools available for your system
-Python. If so, there is no problem because setuptools will be
-installed locally by buildout.
-
-Bootstrap the buildout environment::
-
-    $ python bootstrap/bootstrap.py
-
-and run the buildout command::
-
-    $ bin/buildout
-    [lots of stuff will be downloaded and installed here]
-
-Note that if you have more than one sandbox for a Zope-based web
-application, it will probably make sense to share the eggs between the
-different sandboxes.  You can tell zc.buildout to use a central eggs
-directory by creating ``~/.buildout/default.cfg`` with the following
-contents::
-
-    [buildout]
-    eggs-directory = /home/bruno/buildout-eggs
-
-Running the demo applications
------------------------------
-
-You can start Zope with the demo applications installed with the
-following command:
-
-    $ bin/zopectl fg
-
-If you now connect to port 8080 and log in with username 'grok',
-password 'grok', you should be able to add the grok-based applications
-(such as grokwiki) from the menu.
-
 Running the tests
 -----------------
 
-Grok's tests are easily run by executing the test runner that's
-installed in the ``bin`` directory::
+To run the "grokcore.component" tests, you need to download the source
+code from version control and run the following command which the
+buildout will create::
 
     $ bin/test
-
-Generating the website files
-----------------------------
-
-Grok's tutorial documents for the website can easily be generated
-using the following script in ``bin``:
-
-    $ bin/grok2html /path/of/output/directory

Modified: grokcore.component/trunk/README.txt
===================================================================
--- grokcore.component/trunk/README.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/README.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,46 +1,11 @@
-Grok
-****
+grokcore.component
+******************
 
-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``.
+This module packages,
+separately from the mainline ``grok`` web framework module itself,
+the component auto-configuration tools
+that let Grok programmers avoid writing ZCML.
+With this module,
+basic Zope components like adapters and utilities can be written
+and then registered by providing Grok directives,
+instead of having to write ZCML.

Modified: grokcore.component/trunk/TODO.txt
===================================================================
--- grokcore.component/trunk/TODO.txt	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/TODO.txt	2008-03-18 18:54:53 UTC (rev 84757)
@@ -2,116 +2,5 @@
 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)
+ - The testing infrastructure needs to be broken out into "grokcore.testing".
+ - The interfaces need to be broken out into "grokcore.inerfaces".

Modified: grokcore.component/trunk/buildout.cfg
===================================================================
--- grokcore.component/trunk/buildout.cfg	2008-03-18 17:29:25 UTC (rev 84756)
+++ grokcore.component/trunk/buildout.cfg	2008-03-18 18:54:53 UTC (rev 84757)
@@ -1,62 +1,15 @@
 [buildout]
-develop = . doc grokwiki
-parts = docs interpreter grokwiki zopectl data test
+develop = .
+parts = interpreter test
 find-links = http://download.zope.org/distribution/
 extends = versions.cfg
 versions = versions
 
-[docs]
-recipe = zc.recipe.egg
-eggs = grokdocs
-
 [interpreter]
 recipe = zc.recipe.egg
-eggs = grokwiki
+eggs = grokcore.component
 interpreter = python
 
-[grokwiki]
-recipe = zc.zope3recipes>=0.5.3:application
-eggs = grokwiki
-site.zcml = <include package="grokwiki" />
-            <include package="zope.app.twisted" />
-
-            <unauthenticatedPrincipal id="zope.anybody"
-                                      title="Unauthenticated User" />
-            <unauthenticatedGroup id="zope.Anybody"
-                                  title="Unauthenticated Users" />
-            <authenticatedGroup id="zope.Authenticated"
-                                title="Authenticated Users" />
-            <everybodyGroup id="zope.Everybody"
-                            title="All Users" />
-            <principal id="zope.manager"
-                       title="Manager"
-                       login="grok"
-                       password_manager="Plain Text"
-                       password="grok"
-                       />
-
-            <!-- Replace the following directive if you don't want
-                 public access -->
-            <grant permission="zope.View"
-                   principal="zope.Anybody" />
-            <grant permission="zope.app.dublincore.view"
-                   principal="zope.Anybody" />
-
-            <role id="zope.Manager" title="Site Manager" />
-            <role id="zope.Member" title="Site Member" />
-            <grantAll role="zope.Manager" />
-            <grant role="zope.Manager"
-                   principal="zope.manager" />
-
-[data]
-recipe = zc.recipe.filestorage
-
-# this section named so that the start/stop script is called bin/zopectl
-[zopectl]
-recipe = zc.zope3recipes:instance
-application = grokwiki
-zope.conf = ${data:zconfig}
-
 [test]
 recipe = zc.recipe.testrunner
 eggs = grokcore.component



More information about the Checkins mailing list