Smart Link

by Luca Fabbri last modified Feb 15, 2013 01:51 PM
Contributors: fdelia, lucabel, mamico

An advanced Link content type for Plone, with image field, customizable content icon and internal link feature

Project Description

Introduction

An enhanced version of the base Plone link content type.

After installing this you'll see that the Plone link will have a new image and caption fields like the News Item content type.

Advanced fields tab

Also the new Link type can handle internal (to Plone contents) and external links. You can use the internal link field to automatically attach the link value to an internal content of the portal (in a similar way used for related contents).

The Smart Link edit form

An event-based system will also keep URLs updated even when you move/rename target document.

You can also customize the link icon for being able to use a different icon from the default Plone ones. Due to changes between Plone 3 and Plone 4 themes, we need to keep the Plone 3 approach for displaying icons (not using CSS sprite. To restore the Plone 4 default way, disable the smart_link.css resource and remove the "Icon (Expression)" value from portal_types tool).

Handle back-end/front-end URLs

The Smart Link structure is nothing more that a ATLink content, so the way used to store URL in the object or in the site's catalog is the same as Plone. There is no magic behind.

For this reason, when you are using Smart Link for internal references, the static URL is stored and used.

This will lead to problems when you are using this product for site where you have different back-end/front-end URLs; those problems are the same you have when you don't use this product!

For this reason you must use the "Configure Smart Link" control panel to handle URL transformation.

The 'Configure Smart Link' panel

You can also use an option that says to Smart Link to store relative URLs, but this will also include the Plone site id in every link (and you must rewrite this from Apache if you don't like this).

Blob and Blob migration tool

SmartLink supports (starting from 1.0.0 revision) the use of blob for the image field. In this way we doesn't increases the size of Data.fs .

The Blob support for SmartLink is activated only if plone.app.blob is installed. Plone 4 has Blob as storage default for the images and the files. On Plone 3.x you have to install it by yourself.

If you have already created Smark Link contents with an old version that doesn't support Blobs you have to launch a migration utility from the Smart Link control panel.

E.g.: http://myhost/@@blob-smartlink-migration

Warning 1

Smart Link shape-change itself to be the Link content type, and hide the basic Plone Link type. Old ATLink already created will continue working normally, but only new created link will behave the Smart Link features.

Warning 2

Pay attention when you update the whole portal_catalog using ZMI from URLs different from back-end or front-end ones (for example: using a SSH tunnel).

If you run the update from (for example) "localhost:8090/site" and this URL is not the public or one of the back-end URLs, all your internal links will be changed to this hostname! Another catalog update (from the right URL) will fix this.

Safe re-install, clean uninstall

You can re-install Smart Link safely for upgrade task or for restore changes, without any problem.

If you uninstall it, all data from Smart Link will be removed. This means that if you re-install it after all your internal links will not be linked to target contents.

Requirements

Smart Link has been tested on:

  • Plone 3.3
  • Plone 4.2
  • Plone 4.3

Plone 3 notes

There's some kwno issues for this product on Plone 3.3:

  • uninstall will probably not work (you can try to add to your buildout experimental.backportGS)
  • uninstall will restore the Plone 4 style Link
  • you must manually activate plone.app.imaging in your Plone site

Additional documentation

You can find more documentation on the project's home page

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

Thanks to:

  • Mauro Amico (mamico) for providing support and fixing issues.
  • Stefan Strasser for testing the product on Plone 4, and reports problems

Self-Certification

[X] Internationalized

[X] Unit tests

[X] End-user documentation

[X] Internal documentation (documentation, interfaces, etc.)

[X] Existed and maintained for at least 6 months

[X] Installs and uninstalls cleanly

[ ] Code structure follows best practice

Current Release
redturtle.smartlink 1.2.1

Released Feb 15, 2013 — tested with Plone 4.3, Plone 4.2, Plone 4.1, Plone 4, Plone 3

Bugfix and Plone 4.3 compatibility release
More about this release…

Download file Get Smart Link for all platforms
redturtle.smartlink-1.2.1.zip
If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.

All Releases

Version Released Description Compatibility Licenses Status
1.2.1 Feb 15, 2013 Bugfix and Plone 4.3 compatibility release More about this release…
Plone 4.3
Plone 4.2
Plone 4.1
Plone 4
Plone 3
GPL final
1.2.0 Oct 25, 2012 added support for plone.app.imaging More about this release…
Plone 4.2
Plone 4.1
Plone 4
Plone 3
GPL final
1.1.3 Sep 13, 2012 Bugfix release More about this release…
Plone 4.2
Plone 4.1
Plone 4
Plone 3
GPL final
1.1.2 May 23, 2012 Bugfix for Plone 3 More about this release…
Plone 4.2
Plone 4.1
Plone 4
Plone 3
GPL final
1.1.1 May 18, 2012 Plone 4.2 compatibility More about this release…
Plone 4.1
Plone 4
Plone 3
GPL final
1.1.0 Feb 20, 2012 Some new features that make Smart Link more robust and easy to be administrated by Plone Managers More about this release…
Plone 4.1
Plone 4
Plone 3
GPL final
1.0.0rc2 Nov 06, 2010 Plone 4 bugfix release, and better handling of internal link More about this release…
Plone 4
Plone 3
GPL release-candidate
1.0.0rc1 Sep 14, 2010 Plone 4 compatibility, bugs fixed and new features More about this release…
Plone 4
Plone 3
GPL release-candidate
1.0.0 Nov 03, 2011 Final release, with Plone 4.1 compatibility More about this release…
Plone 4.1
Plone 4
Plone 3
GPL final
0.7.3 Jun 03, 2010 Minor migration fix More about this release…
Plone 3
GPL final
0.7.2 Apr 06, 2010 Fixed a critical bug More about this release…
Plone 3
GPL final
0.7.0 Update to changes done from Plone 3.3 to ATLink content behaviours More about this release…
Plone 3
GPL beta
0.6.1 Mar 10, 2010 Documentation update More about this release…
Plone 3
GPL release-candidate