# Upload and Manage Related Images and Attachments
This packages adds a dexterity behavior to upload and manage related images and attachments for rich media pages.
## Install
Add to buildout configuration or ``pip install collective.behavior.relatedmedia``.
Enable it in Plone Add-on controlpanel.
## Configure
There is a ``Related Media Settings`` controlpanel in the Add-on configuration section.
Make sure you set a valid ``Media Container`` path where all the media is stored.
## Edit
When you edit a Page go to the tab ``Related Media``.
In the relateditems widgets you can select existing content from your page, or you upload
new content via the uploader. Relation type is selected via the mimetype of the media.
You can change the titles of the relations in an input field and rearrange the order
within the widget via drag/drop.
## View
The related media viewlets (image, attachment) are defined by:
- ``collective.behavior.related_images`` -> plone.belowcontenttitle
- ``collective.behavior.related_attachments`` -> plone.belowcontentbody
Feel free to override the placement in your package zcml for example::
<include package="collective.behavior.relatedmedia" />
<configure package="collective.behavior.relatedmedia">
<browser:viewlet
name="collective.behavior.related_images"
for="*"
manager="plone.app.layout.viewlets.interfaces.IAboveContentTitle"
template="widget_images_display.pt"
permission="zope2.View" />
</configure>
## TinyMCE Template
We provide a TinyMCE toolbar icon to enable gallery placement inside the richtext editor::
- create a new paragraph in your text where you want to place the gallery.
- Click on the Gallery Icon in the toolbar
- Choose the images you want inside your gallery. You can drag/drop reorder the images too.
- Edit an existing gallery by clicking inside the preview block and click the toolbar icon again.
NOTES:
- make sure you disable the checkbox "Show images in viewlet" to prevent double rendered gallery.
- When you add related images after you've inserted a gallery in TinyMCE you need to edit it again
and add the new images manually.
## Author
- Peter Mathis [petschki]
## Contributors
- Peter Holzer [agitator]
Changelog
=========
## 3.6.5 (2024-10-28)
- Inject slickSliderOptions via data-attributes.
[petschki]
## 3.6.4 (2024-10-28)
- Fix Fancybox initialization problems.
[petschki]
## 3.6.3 (2024-10-25)
- Initialize "slick-slider" automatically inside TinyMCE image gallery.
[petschki]
## 3.6.2 (2024-06-14)
- Fix broken attachments.
[petschki]
## 3.6.1 (2024-06-14)
- Hide image/attachment viewlet when no content available.
[petschki]
- update JS resources.
[petschki]
## 3.6.0 (2024-05-14)
- Enhanced Attachment viewlet.
[petschki]
## 3.5.4 (2024-04-08)
- Fixed upgrade step for TinyMCE gallery tool.
Cleanup settings for old template.
[petschki]
## 3.5.3 (2024-03-22)
- Fixed upgrade step for migrating "base_path" relations.
[petschki]
## 3.5.2 (2024-02-29)
- Remove old obsolete JS resource from upload viewlet.
[petschki]
## 3.5.1 (2024-02-27)
- packaging updates.
[petschki]
## 3.5.0 (2024-02-27)
Features:
- New gallery editor plugin for TinyMCE replacing the gallery template and adds
possibility to select/reorder gallery images inside TinyMCE.
[petschki]
## 3.4.0 (2024-01-25)
Features:
- Outputfilter and pattern for related image gallery.
- TinyMCE template for gallery placement inside richtext.
[petschki]
## 3.3.5 (2023-11-16)
- Do not fail in update script when broken catalog brains exists.
[petschki]
## 3.3.4 (2023-10-09)
- Fix syncing review_state of (deprecated) related media container.
[petschki]
## 3.3.3 (2023-09-27)
- Fix error when invalid attachment is uploaded.
[petschki]
## 3.3.2 (2023-09-21)
- Added upgrade tep for renamed behavior.
[petschki]
## 3.3.1 (2023-07-19)
- Fix default behavior assignment for "Page".
[petschki]
## 3.3.0 (2023-07-17)
------------------
Feature:
- Mark `base_path` concept as deprecated and add a migration script for it.
[petschki]
- Convenience short name for behavior.
[petschki]
- Use `plone.base.utils.human_readable_size` for attachment size and implement
mimetype icons for attachment list.
[petschki]
3.2.0 (2022-07-20)
------------------
- Fixed customized `selection.xml` template for `pat-relateditems`.
[petschki]
- CI Test setup with `mxdev`.
[petschki]
- Remove `related-media` widget and enable "upload" for related widget.
[petschki]
3.1.1 (2022-07-04)
------------------
- Fix moved utility. import now from `plone.base`
[petschki]
3.1.0 (2022-04-23)
------------------
- remove requireJS from JS resource (Plone 6 compatibility)
[petschki]
3.0.4 (2022-03-16)
------------------
- Add browserlayer for viewlets. (fixes #7)
[petschki]
3.0.3 (2022-03-14)
------------------
- Fix related media container utility permissions
[petschki]
3.0.2 (2022-03-09)
------------------
- Fix bug in memoized utility
[petschki]
3.0.1 (2022-03-09)
------------------
- Fix adding leadimage to the gallery
- Fix media container determination when in language independent Assets
[petschki]
3.0.0 (2022-01-18)
------------------
Breaking changes:
- 3.x is Plone6/py3 only version. Use 2.x for Plone5/py2/3 compatibility
[petschki]
- Change strategy for optional media base_path container creation. This is a registry setting.
- inline title editing for related items
- Plone6 / Classic Theme updates
[petschki]
2.1.3 (2020-07-22)
------------------
- Fix bug in util method when related base_path is missing. fixes #2
[petschki]
2.1.2 (2020-07-02)
------------------
- Fix issue with unauthorized media folder
[petschki]
- Update/enhance default settings in controlpanel
[petschki]
- bugfix in workflow synchronization of related media base path
[petschki]
2.1.1 (2020-05-27)
------------------
- Fix imports to support ``plone.app.contenttypes`` < 2.0
[petschki]
2.1 (2020-05-27)
----------------
Features:
- global setting to always update first related image as leadimage.
This is disabled per default.
[petschki]
2.0.3 (2020-05-26)
------------------
- fix attachment viewlet to be hidden when no files are related
[petschki]
2.0.2 (2019-12-13)
------------------
- Fix bug in workflow sync event when pasting objects
[petschki]
2.0.1 (2019-11-22)
------------------
- merged HISTORY.txt and CHANGES.rst
[petschki]
2.0.0 (2019-11-22)
------------------
- Python 3 / Plone 5.2 compatibility
[petschki]
- Media Base Path feature
[petschki]
- test setup and CI
[petschki]
1.1.1 (2018-05-25)
------------------
- Update documentation.
[petschki]
1.1 (2018-05-25)
----------------
- fix image_size vocabulary. Plone 5 compatibility.
[petschki]
1.0 (2018-05-23)
----------------
- Fix issue with disappearing images when 'include_leadimage' was deactivated
[petschki]
- support for Event Occurrences.
[petschki]
- add markup for fancybox library
[petschki]
- Separate viewlet caption and overlay caption
[petschki]
1.0b1 (2015-07-15)
------------------
- title caption toggle for gallery images
[petschki]
1.0a1 (2015-07-14)
------------------
- Initial release
Raw data
{
"_id": null,
"home_page": "https://github.com/kombinat/collective.behavior.relatedmedia",
"name": "collective.behavior.relatedmedia",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "plone richmedia relatedmedia",
"author": "petschki",
"author_email": "peter.mathis@kombinat.at",
"download_url": "https://files.pythonhosted.org/packages/4c/97/b2fff6fbcb6fdc9faf587b12a263b3b26291194bd9d9430e53483dc294d2/collective_behavior_relatedmedia-3.6.5.tar.gz",
"platform": null,
"description": "\n# Upload and Manage Related Images and Attachments\n\n\nThis packages adds a dexterity behavior to upload and manage related images and attachments for rich media pages.\n\n\n## Install\n\nAdd to buildout configuration or ``pip install collective.behavior.relatedmedia``.\n\nEnable it in Plone Add-on controlpanel.\n\n\n## Configure\n\nThere is a ``Related Media Settings`` controlpanel in the Add-on configuration section.\n\nMake sure you set a valid ``Media Container`` path where all the media is stored.\n\n\n## Edit\n\nWhen you edit a Page go to the tab ``Related Media``.\n\nIn the relateditems widgets you can select existing content from your page, or you upload\nnew content via the uploader. Relation type is selected via the mimetype of the media.\nYou can change the titles of the relations in an input field and rearrange the order\nwithin the widget via drag/drop.\n\n\n## View\n\nThe related media viewlets (image, attachment) are defined by:\n\n- ``collective.behavior.related_images`` -> plone.belowcontenttitle\n- ``collective.behavior.related_attachments`` -> plone.belowcontentbody\n\n\nFeel free to override the placement in your package zcml for example::\n\n <include package=\"collective.behavior.relatedmedia\" />\n <configure package=\"collective.behavior.relatedmedia\">\n <browser:viewlet\n name=\"collective.behavior.related_images\"\n for=\"*\"\n manager=\"plone.app.layout.viewlets.interfaces.IAboveContentTitle\"\n template=\"widget_images_display.pt\"\n permission=\"zope2.View\" />\n </configure>\n\n## TinyMCE Template\n\nWe provide a TinyMCE toolbar icon to enable gallery placement inside the richtext editor::\n\n- create a new paragraph in your text where you want to place the gallery.\n- Click on the Gallery Icon in the toolbar\n- Choose the images you want inside your gallery. You can drag/drop reorder the images too.\n- Edit an existing gallery by clicking inside the preview block and click the toolbar icon again.\n\nNOTES:\n\n- make sure you disable the checkbox \"Show images in viewlet\" to prevent double rendered gallery.\n- When you add related images after you've inserted a gallery in TinyMCE you need to edit it again\n and add the new images manually.\n\n\n## Author\n\n- Peter Mathis [petschki]\n\n\n## Contributors\n\n- Peter Holzer [agitator]\n\n\nChangelog\n=========\n\n\n## 3.6.5 (2024-10-28)\n\n\n- Inject slickSliderOptions via data-attributes.\n [petschki]\n\n\n## 3.6.4 (2024-10-28)\n\n\n- Fix Fancybox initialization problems.\n [petschki]\n\n\n## 3.6.3 (2024-10-25)\n\n\n- Initialize \"slick-slider\" automatically inside TinyMCE image gallery.\n [petschki]\n\n\n## 3.6.2 (2024-06-14)\n\n\n- Fix broken attachments.\n [petschki]\n\n\n## 3.6.1 (2024-06-14)\n\n- Hide image/attachment viewlet when no content available.\n [petschki]\n- update JS resources.\n [petschki]\n\n## 3.6.0 (2024-05-14)\n\n- Enhanced Attachment viewlet.\n [petschki]\n\n\n## 3.5.4 (2024-04-08)\n\n- Fixed upgrade step for TinyMCE gallery tool.\n Cleanup settings for old template.\n [petschki]\n\n\n## 3.5.3 (2024-03-22)\n\n- Fixed upgrade step for migrating \"base_path\" relations.\n [petschki]\n\n\n## 3.5.2 (2024-02-29)\n\n- Remove old obsolete JS resource from upload viewlet.\n [petschki]\n\n\n## 3.5.1 (2024-02-27)\n\n- packaging updates.\n [petschki]\n\n\n## 3.5.0 (2024-02-27)\n\nFeatures:\n\n- New gallery editor plugin for TinyMCE replacing the gallery template and adds\n possibility to select/reorder gallery images inside TinyMCE.\n [petschki]\n\n\n## 3.4.0 (2024-01-25)\n\nFeatures:\n\n- Outputfilter and pattern for related image gallery.\n- TinyMCE template for gallery placement inside richtext.\n [petschki]\n\n\n## 3.3.5 (2023-11-16)\n\n- Do not fail in update script when broken catalog brains exists.\n [petschki]\n\n\n## 3.3.4 (2023-10-09)\n\n- Fix syncing review_state of (deprecated) related media container.\n [petschki]\n\n\n## 3.3.3 (2023-09-27)\n\n- Fix error when invalid attachment is uploaded.\n [petschki]\n\n\n## 3.3.2 (2023-09-21)\n\n- Added upgrade tep for renamed behavior.\n [petschki]\n\n\n## 3.3.1 (2023-07-19)\n\n- Fix default behavior assignment for \"Page\".\n [petschki]\n\n\n## 3.3.0 (2023-07-17)\n------------------\n\nFeature:\n\n- Mark `base_path` concept as deprecated and add a migration script for it.\n [petschki]\n\n- Convenience short name for behavior.\n [petschki]\n\n- Use `plone.base.utils.human_readable_size` for attachment size and implement\n mimetype icons for attachment list.\n [petschki]\n\n\n3.2.0 (2022-07-20)\n------------------\n\n- Fixed customized `selection.xml` template for `pat-relateditems`.\n [petschki]\n\n- CI Test setup with `mxdev`.\n [petschki]\n\n- Remove `related-media` widget and enable \"upload\" for related widget.\n [petschki]\n\n\n3.1.1 (2022-07-04)\n------------------\n\n- Fix moved utility. import now from `plone.base`\n [petschki]\n\n\n3.1.0 (2022-04-23)\n------------------\n\n- remove requireJS from JS resource (Plone 6 compatibility)\n [petschki]\n\n\n3.0.4 (2022-03-16)\n------------------\n\n- Add browserlayer for viewlets. (fixes #7)\n [petschki]\n\n\n3.0.3 (2022-03-14)\n------------------\n\n- Fix related media container utility permissions\n [petschki]\n\n\n3.0.2 (2022-03-09)\n------------------\n\n- Fix bug in memoized utility\n [petschki]\n\n\n3.0.1 (2022-03-09)\n------------------\n\n- Fix adding leadimage to the gallery\n- Fix media container determination when in language independent Assets\n [petschki]\n\n\n3.0.0 (2022-01-18)\n------------------\n\nBreaking changes:\n\n- 3.x is Plone6/py3 only version. Use 2.x for Plone5/py2/3 compatibility\n [petschki]\n\n- Change strategy for optional media base_path container creation. This is a registry setting.\n- inline title editing for related items\n- Plone6 / Classic Theme updates\n [petschki]\n\n\n2.1.3 (2020-07-22)\n------------------\n\n- Fix bug in util method when related base_path is missing. fixes #2\n [petschki]\n\n\n2.1.2 (2020-07-02)\n------------------\n\n- Fix issue with unauthorized media folder\n [petschki]\n\n- Update/enhance default settings in controlpanel\n [petschki]\n\n- bugfix in workflow synchronization of related media base path\n [petschki]\n\n\n2.1.1 (2020-05-27)\n------------------\n\n- Fix imports to support ``plone.app.contenttypes`` < 2.0\n [petschki]\n\n\n2.1 (2020-05-27)\n----------------\n\nFeatures:\n\n- global setting to always update first related image as leadimage.\n This is disabled per default.\n [petschki]\n\n\n2.0.3 (2020-05-26)\n------------------\n\n- fix attachment viewlet to be hidden when no files are related\n [petschki]\n\n\n2.0.2 (2019-12-13)\n------------------\n\n- Fix bug in workflow sync event when pasting objects\n [petschki]\n\n\n2.0.1 (2019-11-22)\n------------------\n\n- merged HISTORY.txt and CHANGES.rst\n [petschki]\n\n\n2.0.0 (2019-11-22)\n------------------\n\n- Python 3 / Plone 5.2 compatibility\n [petschki]\n\n- Media Base Path feature\n [petschki]\n\n- test setup and CI\n [petschki]\n\n1.1.1 (2018-05-25)\n------------------\n\n- Update documentation.\n [petschki]\n\n\n1.1 (2018-05-25)\n----------------\n\n- fix image_size vocabulary. Plone 5 compatibility.\n [petschki]\n\n\n1.0 (2018-05-23)\n----------------\n\n- Fix issue with disappearing images when 'include_leadimage' was deactivated\n [petschki]\n\n- support for Event Occurrences.\n [petschki]\n\n- add markup for fancybox library\n [petschki]\n\n- Separate viewlet caption and overlay caption\n [petschki]\n\n\n1.0b1 (2015-07-15)\n------------------\n\n- title caption toggle for gallery images\n [petschki]\n\n\n1.0a1 (2015-07-14)\n------------------\n\n- Initial release\n",
"bugtrack_url": null,
"license": "gpl",
"summary": "Adds Various configuration fields and viewlets to manage and show content related images and attachments",
"version": "3.6.5",
"project_urls": {
"Homepage": "https://github.com/kombinat/collective.behavior.relatedmedia"
},
"split_keywords": [
"plone",
"richmedia",
"relatedmedia"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f477635d09928c6acc4e07e7e114add769230bde57744fb861227b73a0744a7c",
"md5": "5738dc603590e3a1137e4adf8b867526",
"sha256": "88afc6d34575c1e98edbcb8fc4276372a0aefc3f5c11da7bd663f7d66ee42505"
},
"downloads": -1,
"filename": "collective.behavior.relatedmedia-3.6.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5738dc603590e3a1137e4adf8b867526",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 2335744,
"upload_time": "2024-10-28T09:06:37",
"upload_time_iso_8601": "2024-10-28T09:06:37.287414Z",
"url": "https://files.pythonhosted.org/packages/f4/77/635d09928c6acc4e07e7e114add769230bde57744fb861227b73a0744a7c/collective.behavior.relatedmedia-3.6.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4c97b2fff6fbcb6fdc9faf587b12a263b3b26291194bd9d9430e53483dc294d2",
"md5": "9edf8750f132c790e1a0ea8e25796ab1",
"sha256": "1c77f39ba2bbbe1081878cbd71ae8267acc369da86f78f9e4d0322dd6a4018b7"
},
"downloads": -1,
"filename": "collective_behavior_relatedmedia-3.6.5.tar.gz",
"has_sig": false,
"md5_digest": "9edf8750f132c790e1a0ea8e25796ab1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 3418780,
"upload_time": "2024-10-28T09:07:44",
"upload_time_iso_8601": "2024-10-28T09:07:44.670087Z",
"url": "https://files.pythonhosted.org/packages/4c/97/b2fff6fbcb6fdc9faf587b12a263b3b26291194bd9d9430e53483dc294d2/collective_behavior_relatedmedia-3.6.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-28 09:07:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kombinat",
"github_project": "collective.behavior.relatedmedia",
"github_not_found": true,
"lcname": "collective.behavior.relatedmedia"
}