Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install collective.noindexing

How to install collective.noindexing

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install collective.noindexing
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.2
1.4Never BuiltWhy not?
1.2 Available View build log
1.1 Available View build log
1.0 Available View build log
Windows (64-bit)
1.2
1.4Never BuiltWhy not?
1.2 Available View build log
1.1 Available View build log
1.0 Available View build log
Mac OS X (10.5+)
1.2
1.4Never BuiltWhy not?
1.2 Available View build log
1.1 Available View build log
1.0 Available View build log
Linux (32-bit)
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
1.1 Available View build log
1.0 Available View build log
Linux (64-bit)
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
1.1 Available View build log
1.0 Available View build log
 
License
GPL
Lastest release
version 1.4 on Mar 30th, 2013

Documentation

Goal and usage

Add collective.noindexing to the eggs in your buildout (and to zcml on Plone 3.2 or earlier). This makes two browser views available on the Plone Site root: @@collective-noindexing-apply and @@collective-noindexing-unapply. The first applies some patches and the second undoes the patching. Both can be called multiple times safely.

Patch only a single index (reindex, index, unindex) is also possible: @@collective-noindexing-apply?no-reindex=1 @@collective-noindexing-apply?no-index=1 @@collective-noindexing-apply?no-unindex=1

Or combined: @@collective-noindexing-apply?no-unindex=1&no-reindex=1

Or all: @@collective-noindexing-apply

This patches some catalog methods so no indexing, reindexing or unindexing is done at all. The idea is that you use this package so you can quickly move a big part of your Plone Site to a different folder without having to worry about indexing. It really makes moving a lot faster. You do the indexing later, probably by doing a catalog clear and rebuild; you have a bit more control there about subtransactions, to help avoid a MemoryError or [Errno 24] Too many open files. A script to run the catalog clear and rebuild with some intermediate commits can help here for large sites; see for example http://svn.plone.org/svn/plone/Products.PloneOrg/trunk/scripts/catalog_rebuild.py

Notes
  • The patches do not apply to ATBTreeFolders like the standard Members, events and news Large Plone Folders from Plone 3. This is not deliberate, so it might change in the future, but for now I do not mind. It works fine for folders in Plone 4.
  • It works for Dexterity content too.
Alternatives
  • Go to the archetype_tool object in the ZMI, and then to the Catalogs tab. Switching off portal_catalog in all the types there should have basically the same effect.

  • Add Products.QueueCatalog and Products.PloneQueueCatalog to the eggs of your buildout. In the portal_quickinstaller install PloneQueueCatalog. This renames the portal_catalog to portal_catalog_real and creates a ZCatalog Queue with the id portal_catalog. The standard settings worked fine for me. You now do that large move. In the fresh portal_catalog you go to the Queue tab. It should say you have lots of items in the queue, in my case around 12,000. Clicking the 'Process Queue' button will by default process just twenty items of that queue. You can increase that number. This is an easy way of avoiding MemoryErrors during indexing, as the total number of objects reindexed in one go will be as low as you want.

    Note that I tried this but ran into problems as this website had the portal_catalog in a separate CatalogData.fs, which worked fine until I restarted the zeoclient. With some tinkering it should work, but I did not want to bother with that. We can revisit that when indexing becomes a problem all the time instead of just once for a clear and rebuild.

Authors

Maurits van Rees

Changelog

1.4 (2013-03-26)
  • make patching a single index method (index, reindex, unindex) possible [maartenkling]
1.3 (2012-09-24)
1.2 (2012-04-18)
  • Fixed the unapply method so a second apply will work correctly. [maurits]
  • Added tests with plone.app.testing. [maurits]
  • Added compatibility with Plone 4.1, by loading Products.CMFCore zcml for the permissions. [maurits]
1.1 (2011-01-04)
  • Moved most logging to debug level as it quickly becomes noise in situations where you most need this package. [maurits]
1.0 (2010-04-09)
  • Initial release

Subscribe to package updates

Last updated Mar 30th, 2013

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.