Multi File Upload for Plone
Project description
Makes Plone File Uploads easy
Multifileupload for Plone using uploadify
Usage
After insall, go to http://your-plone-site/@@upload
NOTE
collective.uploadify contains no GenericSetup Profile, thus, it won’t appear in the quickinstaller tool.
If you want to smoothly integrate the upload funtionality to your site, consider to add the following lines to your policy product in the profiles/default/actions.xml:
<?xml version="1.0"?> <object name="portal_actions" meta_type="Plone Actions Tool" xmlns:i18n="http://xml.zope.org/namespaces/i18n"> <!-- *** OBJECT *** --> <object name="object" meta_type="CMF Action Category"> <property name="title"></property> <!-- MULTI UPLOAD --> <object name="upload" meta_type="CMF Action" i18n:domain="wcms.skin.backend"> <property name="title" i18n:translate="">Upload</property> <property name="description" i18n:translate="">Batch upload files.</property> <property name="url_expr">string:${object_url}/@@upload</property> <property name="icon_expr"></property> <property name="available_expr"> python:portal.portal_workflow.getInfoFor(context, "review_state", default="") == "published" and plone_context_state.is_folderish() </property> <property name="permissions"> <element value="Modify portal content"/> </property> <property name="visible">True</property> </object> </object> </object>
or simply go to the Zope Management Interface -> portal_actions -> object and add a new CMF Action Category from the dropdown and configure it with the following lines:
- URL (Expression):
string:${object_url}/@@upload
- Condition (Expression):
python:portal.portal_workflow.getInfoFor(context, “review_state”, default=””) == “published” and plone_context_state.is_folderish()
Configuration
The following settings can be done in the site_properties:
ul_auto_upload – true/false (default: false)
Set to true if you would like the files to be uploaded when they are selected.
ul_allow_multi – true/false (default: true)
Set to true if you want to allow multiple file uploads.
ul_sim_upload_limit – number 1-n (default: 4)
A limit to the number of simultaneous uploads you would like to allow.
ul_size_limit – size in bytes (default: empty)
A number representing the limit in bytes for each upload.
ul_file_description – text (default: empty)
The text that will appear in the file type drop down at the bottom of the browse dialog box.
ul_file_extensions – list of extensions (default: *.*;)
A list of file extensions you would like to allow for upload. Format like *.ext1;*.ext2;*.ext3. FileDesc is required when using this option.
ul_button_text – text (default: BROWSE)
The text you would like to appear on the default button.
ul_button_image – path to image (default: empty)
The path to the image you will be using for the browse button.
ul_hide_button – true/false (default: false)
Set to true if you want to hide the button image.
ul_script_access – always/sameDomain (default: sameDomain)
The access mode for scripts in the flash file. If you are testing locally, set to ‘always’.
collective.uploadify Installation
To install collective.uploadify into the global Python environment (or a workingenv), using a traditional Zope 2 instance, you can do this:
When you’re reading this you have probably already run easy_install collective.uploadify. Find out how to install setuptools (and EasyInstall) here: http://peak.telecommunity.com/DevCenter/EasyInstall
If you are using Zope 2.9 (not 2.10), get pythonproducts and install it via:
python setup.py install --home /path/to/instance
into your Zope instance.
Create a file called collective.uploadify-configure.zcml in the /path/to/instance/etc/package-includes directory. The file should only contain this:
<include package="collective.uploadify" />
Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance recipe to manage your project, you can do this:
Add collective.uploadify to the list of eggs to install, e.g.:
[buildout] ... eggs = ... collective.uploadify zcml = ... collective.uploadify
Re-run buildout, e.g. with:
$ ./bin/buildout
Changelog
0.7 - 2009-07-23
re-fixed name chooser …gnaarf [ramonski]
removed silly logging [ramonski]
0.6 - 2009-07-23
changed the paths to the resources in javascript from absolute to relative. This fixes some strange behaviour resulting in Uploadify - IOErrors [ramonski]
fixed #2 (AttributeError: aq_parent) – when doing uploads in the portal root [ramonski]
The upload folder can now be in private state as well. [ramonski]
0.5 - 2009-06-25
use now the jquery.js shipped with Plone. This satisfies the comment of Maurits van Rees in http://old.plone.org/products/ploneflashupload/issues/1 [ramonski]
fixed Bug with M$ IE Browsers described in http://www.uploadify.com/forum/viewtopic.php?f=4&t=266 [ramonski]
uses ‘jq’ variable instead of ‘$’ in templates and javascript [ramonski]
0.4 - 2009-06-23
added cancel button [ramonski]
uploadify settings can be set in site_properties [ramonski]
added a name chooser to avoid id clashes when uploading files [ramonski]
0.3 - 2009-06-22
fixed bug for M$ IE Browsers that the ‘Browse’ button not appear [ramonski]
changed permission for upload view to cmf.ModifyPortalContent [ramonski]
added onAllComplete handler which reloads the location and displays the uploaded files immediatly in the folder_listing macro [ramonski]
registered a browser view for the uploadify javascript initialization [ramonski]
registered a browser view for the uploadify upload action [ramonski]
removed unused code [ramonski]
0.2.2 - 2009-06-04
added missing .txt extension to MANIFEST.in **gnarf*, I hate setuptools! [ramonski]
0.2.1 - 2009-06-04
added missing MANIFEST.in file [ramonski]
0.2 - 2009-06-04
removed gs profile [ramonski]
added css styles for buttons [ramonski]
fixed bug with upper case file extensions [ramonski]
0.1 - 2009-04-30
Initial release [ramonski]
Contributors
Ramon Bartl, Author, InQuant GmbH
Stefan Eletzhofer, InQuant GmbH
Feedback
For comments, go to http://ramonski.de
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.