Package: slc.cart
An add-on for batch processing of objects in a Plone site. Objects can be added
to a “cart” and then various batch actions can be perfomed on them with a
single click, such as download, delete and copy.Source code @ GitHubReleases @ PyPIContinuous Integration @ Travis-CIInstallationTo installslc.cartyou simply addslc.cartto the list of eggs in your
buildout, run buildout and restart Plone. Then, installslc.cartusing the
Add-ons control panel.UsageAfter successful installation two changes immediately become visible:In site’sPersonal toolsmenu a link to Cart becomes available. This link
also displays the current number of items in cart (in parentheses).Add to Cart/Remove from Cartlinks appear in document byline of
those objects, for which the link is applicable.The link inPersonal toolsmenu points to a new@@cartview, which lists
the curent Cart contents and provides links to various actions that can be
performed in batch on all items in Cart.List of ActionsCopyAdd items in cart to clipboard. This is similar to Plone’scopyoperation
with the advantage that items (objects) being copied do not have to reside in
the same container, they can be scattered all over the site.CutVery similar toCopyaction, but items in cart arecutto clipboard
instead. The difference becomes apparent on subsequentPasteoperation -
if the items have been cut, they will be removed from their original
containers, while the copy operation would not touch the original object
instances in their containers.DownloadDownload all items currently in cart (packed in a ZIP archive).NOTE: Only items that are “downloadable” will be included in the archive. For
example images, PDF documents and other files are all fine, while content
types such as News Items and Folders will be skipped.DeleteDelete all items that are currently in cart from the portal. Also empty the
cart itself along the way. Be careful not to accidentally delete something
you really didn’t intend to.Clear CartThis one is self-explanatory. Remove all items from cart so that it becomes
empty, while not affecting items themselves in any way.Providing a custom actionYou can provide your own Cart action in your own package by creating an adapter
forISiteRootthat provides theICartActioninterface. All actions
inslc.cartare already made this way so take them as a point of reference.Changelog1.1 (2012-11-13)Support for newer versions of grokcore.* packages.
[zupo]1.0.1 (2012-11-05)Missing egg description.
[zupo]1.0 (2012-11-05)Initial release.
[jcerjak, plamut, zupo]License (3-clause BSD)Copyright (c) 2012, Syslab All rights reserved.Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.Neither the name of Syslab nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL SYSLAB BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.