Saravanan666/pypi-org huggingface dataset:
Package: collective.api4tal
.. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide_addons.htmlThis text does not appear on pypi or github. It is a comment.==============================================================================collective.api4tal==============================================================================Plone.api for TAL, use in pt file.The plone.api is an elegant and simple API, built for humans wishing to develop with Plone.But, at template file(*.pt), these useful functions can not be used directly, such as 'api.portal.get()'Through browerview's design, so that these functions can be used on the pt file.Features--------- **@@portal_get** mapping to **api.portal.get()**- **@@user_get_current** mapping to **api.user.get_current()**- **@@user_is_anonymous** mapping to **api.user.is_anonymous()**Examples--------For example, you can use **@@user_is_anonymous** at template, such as:<div tal:condition="context/@@user_is_anonymous">...</div>or, you can use **@@portal_get** at template, such as:<div tal:define="portal context/@@portal_get">...</div>Installation------------Install collective.api4tal by adding it to your buildout::[buildout]...eggs =collective.api4taland then running "bin/buildout"Contribute----------- Issue Tracker: https://github.com/collective/collective.api4tal/issues- Source Code: https://github.com/collective/collective.api4talSupport-------If you are having issues, please let us know.We have a mailing list located at: andy@mingtak.com.twLicense-------The project is licensed under the GPLv2.Contributors============- andy fang, andy@mingtak.com.twChangelog=========0.1 (unreleased)----------------- Initial release.[mingtak]
Package: collective.arboreal
Arboreal is a tool which lets you manage multiple trees. These trees are
stored within the portal. They can be used in Archetypes as a vocabulary for
fields.InstallationThe tool comes with a GenericSetup profile. Therefore you can just install it
by going to the portal setup system. It will create a configlet which you can
access via the same portal setup.Integration with ArchetypesThe primary usage for Arboreal is to use it for hierarchical vocabularies. To
make this a reality Arboreal has its own widget and field types.An example of configuring a field within a schema is given below.MultiArborealField('groups',
    tree='tree_group_id',
    storeCompletePath = True,
    widget=MultiTreeSelectionWidget(
        label='Group',
        label_msgid='label_group',
        description_msgid='help_group',
        i18n_domain='JUNG',
    )
),The tree is used as a vocabulary. You do not have to create this tree.
Arboreal will create it automatically when it does not exist. The
MultiTreeSelectionWidget is basically a multi selection widget which indents
the tree nodes using spaces. This gives the visual appearance of a tree. And
lastly we have the MultiArborealField. With this field you can get a list of
all paths stored. The storeCompletePath keyword toggles parent storage. It is
set to False by default. Parent storage works as follows.Say you have a tree like given below:Node
- SubnodeIf you select the sub node in the interface and store it the path will be
stored. When storeCompletePath is set to False it will only contain the path
to Subnode. If storeCompletePath is set to True the parent will be stored as
well. An example of the differences:storeCompletePath = Falsepath = [Node/Subnode]storeCompletePath = Truepath = [Node/Subnode, Node]Storing the full path is useful for when you want to use the path as a
filtering mechanism. You can then easily do a catalog query on a keyword index
for a specific path. The reason we are not just using a path index is that you
can select multiple points in the tree.CreditsMartijn Pieters (mj@jarn.com)
Jan Murre (jan.murre@pareto.nl)
Jeroen Vloothuis (jeroen.vloothuis@pareto.nl)Change History2.0 - 2011-07-21Add a newstoreOnlyLeavesoption on the field.
[hannosch]Adjust some templates for Plone 4 compatibility and allow renaming of nodes.
[hannosch]Adjust imports to match Plone 4 locations, avoid__implements__.
[hannosch]Add z3c.autoinclude entry point.
[hannosch]Update GS profile to Plone 4-style.
[hannosch]Update distribution metadata.
[hannosch]1.0 - 2008-09-18Allow creation of nodes with a specific id.
[mj]Made XML import/export code accept a path, defaulting to old-hardcoded value.
[mj]Converted to an egg, renamed to collective.arboreal, updated to Z3 tech,
replaced Install.py with a GS profile.
[mj]Initial import to the collective
[jvloothuis, jjmurre]
Package: collective.archetypes.select2
Tell me what your product doesFeaturesCan be bullet pointsExamplesThis add-on can be seen in action at the following sites:
- Is there a page on the internet where everybody can see the features?DocumentationFull documentation for end users can be found in the “docs” folder, and is also available online athttp://docs.plone.org/foo/barTranslationsThis product has been translated intoKlingon (thanks, K’Plai)InstallationInstall collective.archetypes.select2 by adding it to your buildout:[buildout]

...

eggs =
    collective.archetypes.select2and then runningbin/buildoutContributeIssue Tracker:https://github.com/collective/collective.archetypes.select2/issuesSource Code:https://github.com/collective/collective.archetypes.select2Documentation:https://docs.plone.org/foo/barSupportIf you are having issues, please let us know.
We have a mailing list located at:project@example.comLicenseThe project is licensed under the GPLv2.ContributorsFBruynbroeck [Affinitic],francois@affinitic.beMartin Peeters [Affinitic]Changelog1.0a2 (2023-09-19)Fix an issue when some data are encoded in utf8 [SUP-32523]
[mpeeters]1.0a1 (2018-02-14)Initial release.
[FBruynbroeck, mpeeters]
Package: collective.archiveviewer
IntroductionAllow to view content of archive files into plone.How it worksAdd a File with zipped content, this will be marked with ‘collective.archiveviewer.interfaces.IArchiveFile’.Now you can access the content trough web by appending ‘@@contents/$filename’ to the path of your file.For instance, if you have a file ‘foo.html’ inside the archive you can view it by going to
‘http://yourplone.com/yourzipfile/@@contents/foo.html’.Supported archiveszip (application/zip)NOTE: archives are supported trough adapters. You can simply register a named adapter providing ‘IArchiveReader’ interface and
name it as the meta type to be supported (like ‘application/zip’).Please, refer to ‘interfaces.py’ and ‘adapters.py’ for understanding how to write yours.IssuesPlease, submit any issue tohttps://github.com/collective/collective.archiveviewer/issuesCompatibilityTested on Plone 3.3.6AuthorsSimone Orsi <simone.orsi@domsense.com> [simahawk]
Silvio Tomatis <silviot@gmail.com> [silviot]CreditsDeveloped with the support ofInternational Traning Center of the ILO.This product was developed by Domsense in collaboration with Silvio Tomatis.
Package: collective.argv0spy
This package manipulates the process title to show the urls your threads are currently serving.It is quite simplistic, it does not show you for how long it is working on the request and it will not show idle threads as idle.This gives you information when running ps or top, these tools show the up to date process name.See it in action:$ ps auxwwww | grep zope | grep -v grep
do3cc           48824  83.5  1.0  2634876 159628 s004  R+   12:17AM   0:14.15 yo zope /Plone/less-variables.js /Plone/less-variables.js /Plone/less-variables.js /Plone/less-variables.js /Plone/less-variables.jsI used the a configuration option to shorten the long zope name toyo zope. This makes it a bit more readable.You see 5 times the request for the Resource /Plone/less-variables.js, A resource a chose by random and hammered my Zope instance with ab.
Interesting Tidbit: This is a standard Plone instance, it runs with 4 threads but you see 5 requests here. This happens because we log Requests when they get received from the main thread, that does not count as one of the four zserver-threads. Think of it as the queue.Featuresshows url in the process name.Make process name overall shorter.DocumentationThis is the full documentationInstallationInstall collective.arg0spy  by adding it to your buildout:[buildout]

 ...

 eggs =
     collective.argv0spy
 zcml =
     collective.argv0spyand then running “bin/buildout”
You do not need to activate your plugin. The plugin will be active for all Plone instances of your zope process.Nothing gets installed in the Database, so removing the pcakge from your buildout and rerunning buildout will remove this package without leaving a trace.ConfigurationThe full zope process name is quite long. When starting with an environment variableZOPE_SHORT_NAME,
the value of this variable becomes the new zope name, after the first request has been received.For example, I ran my zope instance like that to produce the output from above:$ ZOPE_SHORT_NAME="yo zope" ./bin/instance fgContributeIssue Tracker:https://github.com/collective/collective.argv0spy/issuesSource Code:https://github.com/collective/collective.argv0spyDocumentation:https://github.com/collective/collective.argv0spyLicenseThis package is MIT licensedChangelog0.1.3 (2016-05-04)Remove embarrassing yo zope from package.0.1.2 (2016-05-03)Fix another unfound issue in egg/wheel.0.1.1 (2016-05-02)Fix broken egg.0.1.0 (2016-04-30)Add posibility to define an overall shorter name for the zope process.0.0.1 (2016-04-30)Initial release.
Package: collective.atcassandrastorage
Author:Stefan EletzhoferDate:2010-05-28AbstractAn Archetype field storage which uses acassandrabacking store.ReasoningFor a customer project I’m doing right now I’m usingcassandraas a storage
backend forPlone FormGendata.  Now the need did arise to also have specific
fields of AT content types to be stored in cassandra as well.Design decisionsconfiguration of the cassandra clients done by usingplone.app.registryper-field configurablekeyspaceandcolumn familyfor fieldsTheUIDof the instance object is used as akeyin the specifiedcolumn family(remember that aninsertin cassandra is essentially anupdate)usingpycassaas glue libraryUsageImport the storage and attach it to a field in your AT Schema:from collective.atcassandrastorage.storage import CassandraFieldStorage

MySchema = atapi.Schema(
      ...
      StringField("afield",
              storage=CassandraFieldStorage("AKeyspace", "AColumnFamily"),
              ),
      ...
)This will store and fetch data forafieldfrom a cassandra database using
the keyspaceAKeyspaceand the column familyAColumnFamily.ConfigurationConfiguration is done usingplone.app.registry.  Visit the registry in
Plone’s control panel and configure the values, they should be pretty much
obvious.Dependenciesplone.app.registryfor configurationpycassapython Cassandra glue libraryLinkscassandrahttp://cassandra.apache.org/archetypeshttp://plone.org/products/archetypespycassahttp://github.com/vomjom/pycassaChangelog0.2 (2010-05-31)Added tests.
[seletz]Introduce IInstanceKey interface to allow to overwrite instance key
calculation.
[seletz]0.1 (2010-05-29)Initial release
[seletz]
Package: collective.ATClamAV
collective.ATClamAVIntroductioncollective.ATClamAVaims at providing antivirus integration to Plone
sites. It does that by defining a validator that can be used with any content
type that uses File or Image field(s). The open-sourceClam Antivirusis
supported which is available for all platforms.UsageTo start, you need to haveclamdrunning on some host accessible by your
instances.collective.ATClamAVsupports either UNIX socket connections or
remote connections.Install collective.ATClamAV and setup the host & port or the path to theclamdsocket in the control panel (default is a network connection toclamdlistening onlocalhostat port 3310). By defaultFilesandImagesare going to be checked for viruses when added or updated.Adding anti-virus protection to non-ATFile based contentIn order to add anti-virus protection to your custom content types you only
need to add theisVirusFreevalidator to your FileField(s). For instance:FileField('file',
  validators = (('isNonEmptyFile', V_REQUIRED),
                ('isVirusFree', V_REQUIRED),),
  widget = FileWidget(label=u'File'),
)TestingBy default tests mockclamdand do not require it being installed. If you
want to test yourclamdsetup as well, run tests on all levels i.e../bin/test -a2using the provided buildout. Twoplone.app.testinglayers (with the mocker
and without) are provided if you want to integrate the package in your own
tests, seetesting.py.DevelopmentIf you want to get involved with the development of collective.ATClamAV please
usegithubto submit your patches/issues.CreditsSome code was shamelessly borrowed frompyClamd.Changelog1.2 - 2011-03-15Sent all data over the socket instead of only the first buffer.
[hannosch]Added error logging for failed scans.
[hannosch]1.1 - 2011-02-15Disable virus validator during debug mode but log a warning. This allows
local development to take place without having clamav installed.
[hannosch]1.0 - 2011-01-11Reengineering to support images.
[hannosch]Improve coverage and use plone.app.testing.
[ggozad]Plone 4 compatibility.
[ggozad, hannosch]pep-8
[ggozad]1.0b2Added support for local UNIX sockets
[ggozad]1.0b1Initial release
[ggozad]
Package: collective.atimage.transformmenu
IntroductionReplaces the “Transform” tab in ATImage with a corresponding “Transform” menu in the “View” tab.
The menu is available also for ATNewsItem.FeaturesMenu available for Image and News ItemPerforms image transformations with AJAX to prevent reloading the pageDegrades gracefully in non-JavaScript browsersi18n support by using atcontentypes and plone i18n domains.Tested in Plone 3.3.5 and Plone 4.0InstallationAddcollective.atimage.transformmenuto the list of eggs to install, e.g.:[buildout]
...
eggs =
    ...
    collective.atimage.transformmenuTell the plone.recipe.zope2instance recipe to install a ZCML slug:[instance]
recipe = plone.recipe.zope2instance
...
zcml =
    collective.atimage.transformmenuRe-run buildout, e.g. with:$ ./bin/buildoutYou can skip the ZCML slug if you are using Plone 3.3 or if you are going to explicitly include
the package from another package’s configure.zcml file.Authors and ContributorsMarcos F. Romero <marcos.romero {at} inter-cultura {dot} com> (developer)Juan Pablo Giménez <jpg {at} rcom {dot} com {dot} ar > (unconditional help)Changelog1.2.2 (2010-09-21)Added simplejson dependency, which is used to automatically create JSON from Python objects (thanks to kojiro)Change http headers for JSON responses: added content-length, changed mimetype for application/json (thanks to MacYET3)Test updated according to above changesTested in Plone3.3.5 and Plone4.01.2.1 (2010-07-28)New test cases with News Items and Page objects and with AJAX interactions1.2 (2010-07-26)Enables Transform menu for News ItemsImage update with AJAX now reloads the whole image tag instead of just src attribute to prevent width/height constraints1.1 (2010-07-17)Performs transformations with AJAX (jQuery)Keeps “Transform” tab hidden if collective.atimage.transformmenu is installedNecessary i18n taken from plone domain1.0 (2010-06-03)Initial releaseHides “Transform” tab in ATImage by means of generic setup extension profileAdds “Transform” menu in ATImage with the available transformationsi18n taken from Products.ATContentTypesTested in Plone 3.3.5 and Plone4.03b
Package: collective.atomrss
Package extends Plone syndication for using Atom RSS by default.“The Atom syntax was specifically designed to allow elements to be reused outside the context of an Atom feed document” wikipediaIt added some field as events date, image (for news) and leadimage (for event) into rss content feed.
This package also add content text into rss feed
What this package do :
* Added content into rss items feed, by default, render_body is set to True in FeedSettings
* Added image (for News Item), leadimage (for Event) in content items
* Use only Atom as default view in FeedSettingsIt also package added event startdate, enddate, location, organizer, type into feed items as explain inhttp://web.resource.org/rss/1.0/modules/event/Source code @ GitHubReleases @ PyPIContinuous Integration @ Travis-CIHow it worksThis package :
* adapts IFeedSettings for changing default value of rss feed.
* override atom.xml browserview for adding news image and event informations.InstallationTo installcollective.atomrssyou simply addcollective.atomrssto the list of eggs in your buildout, run buildout and restart Plone.
Then, installcollective.atomrssusing the Add-ons control panel.
Changelog
=========0.1.13 (2018-01-08)Enclose text of an object in details tag.
[bsuttor]0.1.12 (2017-12-12)Accept html content for address.
[bsuttor]0.1.11 (2017-12-04)Fix event location.
[bsuttor]0.1.10 (2017-04-27)Fix at event date.
[bsuttor]0.1.9 (2017-04-27)Formated date for event start and end.
[bsuttor]0.1.8 (2017-03-24)Do not try to see an image on file.
[bsuttor]0.1.7 (2017-02-21)Use enclosure media type for lead image.
[bsuttor]0.1.6 (2016-11-16)Fix event rss.
[bsuttor]0.1.5 (2016-04-25)Add dexterity support.
[bsuttor]Lint README file
[bsuttor]0.1.4 (2015-05-12)Modifications to get events’ startdate and enddate into RSS feeds.
[cboulanger]0.1.2 (2015-03-12)Do use override.zcml, for settings adapter.
[bsuttor]0.1 (2015-03-05)Package created using mr.bob
[bsuttor]
Package: collective.autopermission
IntroductionThis package registers an event handler that initialises permissions on the
fly. To use it, simply include its ZCML:<include package="collective.autopermission" />Then, you can use the <permission /> ZCML statement to define a new type of
permission, without also needing to make the permission “spring into
existence” via ClassSecurityInfo or similar.Changelog1.0b2 (2011-05-02)Fix deprecation warningFix pep81.0b1 - March 11, 2009Initial release
Package: collective.autoresizetextarea
Introductioncollective.autoresizetextarea is a textarea auto-resizer for Plone.
It is based on James Padolsey’s jQueryautoResizeplugin. Check
hiswebsitefor a demo.Buildout InstallationAdd the following code to your buildout.cfg:[buildout]
...
eggs =
    ...
    collective.autoresizetextarea
    ...

...
[instance]
...
zcml =
    ...
    collective.autoresizetextarea
...UsageTo add the auto-resize feature to a textarea you can either add an
“autoresize” CSS class to the textarea:<textarea class="autoresize" />or change the jQuery selector in the second line of the javascripts/autoresize.js file:...
jq('textarea.mycssclass').autoResize({
   ...
...Consult thejQuery documentationfor more about jQuery selectors.Changelog1.0b2 2010-07-13Metadata added to GS
[timo]HISTORY.txt moved to CHANGES.txt
[timo]1.0b1 2010-02-05z3c.autoinclude added.
[timo]1.0a1 2009-09-24Initial release.
[timo]
Package: collective.autosaveform
collective.autosaveformThe goal of this product is to save what user entered in a form and
possibly repopulate the form when something bad happened (browser
crash, lost internet access etc).If available, it stores data entered in the browser’s local storage
and sends them to the server to copy them. If the local storage is not
available, it always sends the data to the server.
If a problem arise, the form will be prepopulated when the user opens
is again.InstallationAdd ‘collective.autosaveform’ to your list of eggs in the
buildout. Run buildout again, then install it using Zope quick
installer (or Plone product managment).SampleA form sample can be found at this address:http://localhost:8080/<yourplonesite>/autosave_sampleSetting up formsTo enable auto saving of a form, you first need to add an ID to your
form:<form id="my_saved_form">
</form>Then, you have to register it on the Python side. This can be done via
an upgrade step for example:from collective.autosaveform import config
from Products.CMFCore.utils import getToolByName

def register_form(context):
    tool = getToolByName(context, 'portal_autosaveform')
    try:
        tool.register_form('my_saved_form',
                           {'text_field': config.TEXT,
                            'radio_field': config.RADIO})
    except:
        # Log that the form was already registered.
        passWhen you process the form, you should also mark it as processed (so
the data will not be filled again):def process_form(...):
    # Process the form ...
    tool = getToolByName(context, 'portal_autosaveform')
    tool.mark_form_processed('my_saved_form')Last step, in the template where your form is located, enable the
jQuery plugin to have your form automatically saved:<script type="text/javascript">
  jq('#my_saved_form').autosaveform();
</script>You can have a look at the jQuery plugin for available options
(collective/autosaveform/skins/autosaveform/jquery.autosaveforms.js).Changelog0.2 (2011-10-13)Bugfix: calback was not called when the form is marked as
processed. [vincent]0.1 (2011-10-13)Initial release
Package: collective.autoscaling
This package allows automatic scaling of too large images in Plone sites.
Images can be either Image content type or any Image field on content types.This is totally transparent to the user (except if you choose to show message).There is also a view (@@resize-images) that you can call to scale existing images (under the context of your choice), for example :http://localhost:8080/plone/@@resize-imageshttp://localhost:8080/plone/folder/subfolder/@@resize-imagesSettingsEnable automatic scaling (yes / no)Maximum height at which images will be automatically resized (in pixels)Maximum width at which images will be automatically resized (in pixels)JPEG qualityShow information message to user when images have been resized (yes / no)Use caseYou configure collective.autoscaling to have images with maximum size of height 800px / width 1200px.One of your user uploads a really big image : height 2000px / width 4000px.This image will be resized to height 600px / width 1200px (aspect ratio is of course preserved).LimitationsThis add-on works only with Dexterity content types.It has been developed on Plone 4.3, but works with Plone 5 and Plone 6 too.
Current branch is tested on Python 3 / Plone 6.TranslationsThis product has been translated intoEnglishFrenchNorwegianPortugueseInstallationInstall collective.autoscaling by adding it to your buildout:[buildout]

...

eggs =
    collective.autoscalingand then runningbin/buildoutContributeIssue Tracker:https://github.com/collective/collective.autoscaling/issuesSource Code:https://github.com/collective/collective.autoscalingLicenseThe project is licensed under the GPLv2.ContributorsLaurent Lasudry, Original Author [Affinitic]Espen Moe-NilssenMarc LavalléeChangelog1.2 (2022-02-21)Fix resize-images view that was saving nothing because of CSRF protection
[laulaz]Add support for Python 3 / Plone 6
[marclava, laulaz]Add new JPEG Quality setting
[marclava]Improve resizing code
[marclava]Add uninstall profile
[laulaz]1.1.2 (2019-01-15)Handle special cases when we don’t get a request at ObjectAddedEvent
(example : when an object is added at Zope startup)
[laulaz]Remove useless dependency on CMFDefault (#5)
[laulaz]1.1.1 (2016-07-28)Pin plone.api to avoid any errors (#2)
[laulaz]Add Portuguese translation
[laulaz]1.1 (2016-04-13)Remove dependency on plone.app.imagecropping (#1)
[laulaz]Translations cleanup
[laulaz]1.0 (2016-04-11)Initial release.
[laulaz]