Download the PHP package talan-hdf/semantic-suggestion without Composer

On this page you can find all versions of the php package talan-hdf/semantic-suggestion. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package semantic-suggestion

TYPO3 Extension: Semantic Suggestion

TYPO3 12 TYPO3 13 TYPO3 14 Latest Stable Version License

Suggests related pages on a TYPO3 site by comparing the text of the pages themselves, instead of relying on categories or manual links.

A scheduler task walks a page tree, builds a TF-IDF vector per page (via nlp_tools), compares them pairwise and stores the resulting scores in tx_semanticsuggestion_similarities. The frontend plugin only reads that table, so displaying suggestions costs one indexed query.

📖 Full manual: Documentation/ — configuration reference, multi-site setup, upgrade notes and troubleshooting.

Requirements

TYPO3 12.4 → 14.x
PHP 8.1+
Required extension cywolf/nlp-tools ^2.0 (nlp_tools)

nlp_tools is not optional: without it no vector can be built and no similarity is ever stored. It is a declared dependency in both composer.json and ext_emconf.php, so Composer and the Extension Manager pull it in for you.

Installation

Installing from the TER instead? Install nlp_tools first; the Extension Manager will refuse to activate the extension without it.

Upgrading from 3.x or 4.0.0? Run the migration wizards, otherwise suggestions disappear for any task that started on a subtree:

See Upgrade for what these do and how to verify them.

Quick start

  1. Create the scheduler task — Scheduler → Add task → "Semantic Suggestion: Generate Similarities":

    Field Value
    Start page ID the site root (or any subtree to restrict the scope)
    Quality level 0.3 — pairs scoring below this are not stored
    Exclude pages optional list of UIDs, e.g. 42,56
    Language -1 (all languages of the site, in one run)

    Run it once manually. It logs to the TYPO3 log and to typo3temp/logs/semantic_suggestion.log.

  2. Display the suggestions — either add the Semantic Suggestions content element to a page, or call the plugin from your Fluid page template:

    Bootstrap Package users can instead enable the shipped page templates, in that site's constants only:

  3. Check the result in Web → Semantic Suggestion, which shows the stored pairs, the score distribution and the pages with the most links.

Configuration in one table

Everything under plugin.tx_semanticsuggestion_suggestions.settings (Constant Editor category semantic_suggestion):

Setting Default Effect
qualityLevel 0.3 Display filter: stored pairs scoring below it are not shown
maxSuggestions 3 Number of suggestions rendered
excludePages (empty) UIDs never shown as a suggestion
excerptLength 100 Characters of the excerpt
excerptSources bodytext,description,abstract First non-empty field wins
recencyWeight 0.2 Share of the score taken from the recency comparison
analyzedFields.* title 1.5, keywords 2.0, abstract 1.2, description 1.0, content 1.0 Field weights, applied by repeating the text round(weight) times
enableStemming 1 Stem before vectorizing
debugMode 0 Verbose log and debug output in the rendered HTML
overrideBootstrapTemplates 0 Opt-in Bootstrap Package page templates
show* 1 Section toggles of the backend module

Two things are worth knowing before tuning:

Details, and the settings that are accepted but currently ignored, are listed in Configuration.

Multi-site

One task per site, startPageId on each site root. Suggestions can never cross a site boundary: the frontend lookup filters on the stored root_page_id. Non-admin editors only see the analyses of sites they have a webmount on. See Multi-site and multilingual.

Troubleshooting

Common causes of "no suggestions at all" and how to tell them apart: Troubleshooting.

Development

The extension ships phpunit.xml.dist but declares no require-dev, so PHPUnit has to be installed in the host project first.

License, support

GPL-2.0-or-later — see CHANGELOG.md.


All versions of semantic-suggestion with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
typo3/cms-core Version ^12.4 || ^13.0 || ^14.0
typo3/cms-scheduler Version ^12.4 || ^13.0 || ^14.0
cywolf/nlp-tools Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package talan-hdf/semantic-suggestion contains the following files

Loading the files please wait ...