===========
EEA Alchemy
===========
.. image:: https://ci.eionet.europa.eu/buildStatus/icon?job=eea/eea.alchemy/develop
:target: https://ci.eionet.europa.eu/job/eea/job/eea.alchemy/job/develop/display/redirect
:alt: Develop
.. image:: https://ci.eionet.europa.eu/buildStatus/icon?job=eea/eea.alchemy/master
:target: https://ci.eionet.europa.eu/job/eea/job/eea.alchemy/job/master/display/redirect
:alt: Master
Auto-discover geographical coverage, temporal coverage, related items and
keywords from documents common metadata (title, description, body, etc),
auto highlight keywords within a page content based on selected tags and
auto-update related items based on internal links found within
object's metadata.
Contents
========
.. contents::
Introduction
============
This tool allows Plone managers to auto-discover and fix subject keywords,
location and temporal coverage using http://www.alchemyapi.com/ web service.
Main features
=============
- Auto-discover keywords, locations and temporal coverage;
- Auto highlight keywords within a page content based on selected
tags and link them to a custom search page;
- Auto update related items based on internal links found within
object's metadata.
Planed features
===============
- Add a wizard icon near Subject, Location, etc fields in edit form
to auto-discover and suggest tags based on text in
other fields (Title, Description)
Install
=======
- Add eea.alchemy to your eggs section in your buildout and re-run buildout. You
can download a sample buildout from
https://github.com/collective/eea.alchemy/tree/master/buildouts/plone4
- Install eea.alchemy within Site Setup > Add-ons
Getting started
===============
Auto discover keywords, location, related items or temporal coverage
--------------------------------------------------------------------
1. Get your alchemy key here: http://www.alchemyapi.com/api/register.html
2. Update your alchemy API key within Site Setup > Alchemy Settings
3. Within Plone Control panel go to Alchemy Discoverer.
Auto tagging
------------
1. *Enable auto-tagging* within **Site Setup > Alchemy Settings**
2. Edit your document and add some tags for it within **/edit > Categorization.**
For example, if you're writing a news article about *water pollution* go to
**/edit > Categorization** and add *water pollution* within tags field
(also known as *keywords*, *subjects*, *topics*).
Now when you navigate to the **View** page of this article,
you'll notice that all occurrences of *water pollution* within your news
article body are links to a custom search page which is also configurable
within **Alchemy Settings ControlPanel**
Auto relations
--------------
1. *Enable auto-relations* within **Site Setup > Alchemy Settings**
2. Edit your document and add some internal links for it
within **/edit > Body Text.**
For example, if you're writing an article about an event add a internal link
to this event within **Body Text** field.
Now Save your article and you should see a notification message on top of
the page saying something like: **Automatically detected and added
one relation since it is linked in content.**
If you check the related content section for your article you'll notice that
the Event object was automatically added there.
Source code
===========
- Latest source code (Plone 4 compatible):
https://github.com/collective/eea.alchemy
- Plone 2 and 3 compatible:
https://github.com/collective/eea.alchemy/tree/plone25
Copyright and license
=====================
The Initial Owner of the Original Code is European Environment Agency (EEA).
All Rights Reserved.
The EEA Alchemy (the Original Code) is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.
More details under docs/License.txt
Funding
=======
EEA_ - European Environment Agency (EU)
.. _EEA: https://www.eea.europa.eu/
Changelog
=========
7.4 - (2021-09-27)
--------------------------
* Change: allow auto-discovery of dexterity relations by using the raw values
of the relatedItems field instead of using the accessor which removes the
dexterity uuid
[ichim-david refs #134485]
7.3 - (2019-01-28)
--------------------------
* Jenkins: Add sonarqube step
[avoinea refs #101552]
7.2 - (2018-10-19)
--------------------------
* Bug fix: Fix auto-relations when /view within links
[avoinea refs #99335]
7.2 - (2018-08-27)
--------------------------
* Change: Get base-url from body data `base-url`
[avoinea refs #97843]
* Change: updated URLs pointing to eea.europa.eu with https://
[alecghica refs #95849]
* Change: fixed the usage of BeautifulSoup
[alecghica refs #96974]
7.1 - (2018-03-14)
------------------
* Bug fix: fixed tool.pt when js is moved to the bottom of body
[ichim-david refs #91577]
7.0 - (2017-12-12)
------------------
* Change: Replace eeacms/zptlint with eeacms/plone-test:4 zptlint
[avoinea refs #90415]
* Change: Dropped AlchemyAPI integration
[valipod refs #86237]
6.7 - (2017-11-07)
------------------
* Change: Remove Sphinx generated documentation
[petchesi-iulian refs #88212]
6.6 - (2017-05-15)
------------------
* Change: fixed PyLint warnings and errors
[eduard-fironda refs #84949]
6.5 - (2017-04-24)
------------------
* Change: updated package information
[eduard-fironda]
6.4 - (2016-05-04)
------------------
* Bug fix: fixed pylint warnings
[alecghica refs #68082]
6.3 - (2015-11-16)
------------------
* Change: updated git ignore list
[ghicaare refs #30338]
6.2 - (2015-09-10)
------------------
* Bug fix: Fixed unrestrictedTraverse issue due to the local publications
folder inside a theme directory.
[chiridra refs #28455]
* Bug fix: Fixed parsing issues when anchors tags are present:
they lack the "href" attribute. Updated tests.
[chiridra refs #27904]
6.1 - (2015-08-18)
------------------
* Bug fix: Auto-include zcml within plone context in order to make this package
work without having to add it within buildout zcml directive.
[avoinea]
6.0 - (2015-03-17)
------------------
* Change: Switched to curl in the jenkins build install script
[olimpiurob refs #22402]
* Change: Changed fetch url for jenkins build install script to the install
script from the main EEA CPB repository
[olimpiurob refs #22402]
5.9 - (2014-09-15)
------------------
* Feature: Auto-discover relations also by embedded iframes. Also fix the
discover links utility to strip query and hash from URL.
[voineali refs #21025]
5.8 - (2014-08-12)
------------------
* Bug fix: Include i18n translations
[avoinea]
5.7 - (2014-01-22)
------------------
* Change: updated docsting for disable auto-links field
[ghicaale refs #16666]
* Feature: adding Sphinx-generated documentation in Page Template format
[batradav refs #9502]
5.6 - (2013-10-04)
------------------
* Bug fix: Fixed "duplicates referenced before assignment" error
[voineali]
* Bug fix: Preserve manually added relations when
auto-relations feature is enabled
[voineali refs #16718]
5.5 - (2013-09-06)
------------------
* Bug fix: fixed failing tests after Plone 4.3 upgrade
[ichim-david refs eea #14924]
5.4 - (2013-08-19)
------------------
* Bug fix: fixed the afterSetUp method after upgrading to Plone 4.3 by setting
role to manager on the test user before starting the object creations
[ichim-david refs #14924]
5.3 - (2013-08-09)
------------------
* Feature: Added possibility to only discover keywords already in the existing keywords list
[szabozo0 refs #15615]
* Bug fix: Fixed auto-discoverer for languageIndependent fields
[voineali refs #15615]
* Feature: Added more details on alchemy discoverer exceptions for geographical coverage and keywords
[szabozo0 refs #14916]
* Feature: Added more details on alchemy discoverer exceptions for related items
[szabozo0 refs #14916]
* Feature: Added possibility to disable auto-links for a specific page
[szabozo0 refs #14916]
* Feature: Added option to have the results in a modal window
[szabozo0 refs #14916]
5.2 - (2013-07-08)
------------------
* Bug fix: inverted condition in order to fix issue described first at #14592
from the 5.1 release
[ichimdav #14592]
* Feature: Added "auto-tagging delimiter" option in order to allow extraction of
tags from Text fields
[voineali refs #14797]
* Feature: Pair lookin field with tagging link in order to be able to link
different search pages
[voineali refs #14797]
* Feature: Added "mark only first occurrence" selected by default in order
not to pollute pages with the same link
[voineali refs #14797]
5.1 - (2013-06-17)
------------------
* Upgrade step: (optional) Manually **Enable auto relations** within Site Setup >
Alchemy Settings
[voineali refs #9486]
* Upgrade step: Within "Plone > Site setup > Add-ons" click on
upgrade button available for EEA Alchemy
* Feature: Add presence viewlet in order to call alchemy.tags.json via AJAX
only if auto-tagging is enabled
[voineali refs #9486]
* Change: Pair tagging field and tagging link in order to allow to have geotags
going to a different search than keywords tags.
[voineali refs #9486]
* Change: updated link to site setup
[ghicale]
* Bug fix: Handle auto-tagging when BASE_URL endswith /view
[voineali refs #14592]
* Feature: Auto discover internal links within a Plone Content-Type's text
and update 'relatedItems' field accordingly
[voineali refs #9486]
* Feature: Refactoring Alchemy Discover UI:
- Improve user experience;
- Added real-time console.log in browser via server-sent events;
- Improved "Look in" facet by adding all schema fields and catalog metadata;
[voineali refs #9486]
* Feature: Refactoring discover utilities and adapters in order to be able
to easily extend alchemy functionality outside eea.alchemy package
[voineali refs #9486]
5.0 - (2013-05-20)
------------------
* Upgrade step: (optional) Manually **Enable auto tagging** within Site Setup >
Alchemy Settings
[voineali refs #9486]
* Upgrade step: (optional) Manually reorder JS / CSS resources
(++resource++eea.alchemy.js, ++resource++eea.alchemy.css) within ZMI >
portal_javascripts / portal_css in order to optimize requests per page.
[voineali refs #9486]
* Upgrade step: Within "Plone > Site setup > Add-ons" click on
upgrade button available for EEA Alchemy
[voineali refs #9486]
* Feature: Auto highlight keywords within a page content based on selected
tags and link them to a custom search page
[voineali refs #9486]
* Feature: Group all Alchemy settings within Site Setup > Alchemy Settings
[voineali refs #9486]
4.4 - (2012-07-13)
------------------
* Bug fix: fixed markup of HISTORY.txt file
[ciobabog refs #5231]
* Bug Fix: Fixed i18n missing tags and i18n:domain in .pt files
[prospchr refs #5162]
4.3 - (2012-04-26)
------------------
* Feature: added batch selection on bulk auto-dicover
[ghicaale #5008]
* Feature: added preview feature for the bulk auto-discover
[ghicaale #5008]
* Feature: added transaction commits for faster reindex on bulk auto-discover
[ghicaale #5008]
* Bug fix: fixed reindexing objects after bulk auto-discover geotags
[ghicaale #5008]
* Bug fix: fixed not to show empty suggestions on bulk auto-discover geotags
[ghicaale #5008]
4.2 - (2012-02-06)
------------------
* no changes
4.0 - (2011-11-07)
------------------
* Feature: Added possibility to auto-discover tags not only in Title and Description.
[voineali #4633]
* Feature: Added upgrade steps
[voineali #4392]
* Feature: Plone 4.x compatible release
[ghicaale #4235]
0.1 - (2011-04-19)
------------------
* Cleanup: of pyflakes warnings
[ichimdav #4141]
* Cleanup: of pylint violations
[ichimdav #4140]
* Initial release