Git Product home page Git Product logo

thuecat's Introduction

ThüCAT integration into TYPO3 CMS

ThüCAT is ¨Thüringer Content Architektur Tourismus¨. This is an extension for TYPO3 CMS (https://typo3.org/) to integrate ThüCAT. The existing API is integrated and allows importing data into the system.

Full documentation available at https://docs.typo3.org/p/werkraummedia/thuecat/master/en-us/.

Current state

The extension already allows:

  • Create configuration to import:

    • specified resources via static configuration, e.g. defined organisation or towns.

    • sync scope, a syncScopeId to always update delivered resources.

  • Support multiple languages

  • Import of the following types (not all properties are supported):

    • Organisations (responsible for content)

    • Towns

    • Tourist information

    • Tourist attraction

  • Backend module:

    • To inspect current existing organisations and their towns and tourist information

    • To inspect import configuration

    • To create import configuration

    • To inspect past imports and possible errors, as well as number of affected records

  • Frontend:

    • Content element to display tourist attraction

    • Page Type to reference tourist attraction

    • Descriptions are formatted HTML, use f:format.html ViewHelper for rendering.

Short time goals

  • Content element to display town, tourist information and organisation.

  • Extending import to include further properties

Installation

Please configure API Key via Extension Configuration.

Configuration records need to be created, e.g. by visiting the ThüCAT module. Those can then be imported via the same module.

thuecat's People

Contributors

danielsiepmann avatar koritnik avatar crpozo avatar svenfnzd avatar bnf avatar

Stargazers

Christian Wolfram avatar  avatar  avatar

Watchers

James Cloos avatar Daniel Gohlke avatar Justus Moroni avatar

Forkers

bnf crpozo chriwo

thuecat's Issues

Remove api key from sites

Documentation matches code base which expects API key to be defined within Extension Configuration.
Still the extension extends UI of sites to also allow configuration of an API key. This should be removed as it is not used anyway.

Auto import missing relations

Some objects have relations. E.g. a Tourist Information has a relation to a town. The foreign object (town) might not exist while importing the object (Tourist Information).

It might make sense to auto import those relations.

Add proper documentation

Register for docs.typo3.org.
Add link to composer.json.
Add link to GitHub.

Add Documentation which contains the features, functionality, usage. This should explicitly include how to handle templates (overwrite / exchange).

Do not use the `_` for new identifier in DataHandler

The _ inside the uid has a special meaning, see

if (strpos($value, '_') === false) {
    $affectedTable = $tcaFieldConf['foreign_table'];
    $prependTable = false;
} else {
    $parts = explode('_', $value);
    $value = array_pop($parts);
    $affectedTable = implode('_', $parts);
    $prependTable = true;
}
$value = $this->substNEWwithIDs[$value];
// The record is new, but was also auto-versionized and has another new id:
if (isset($this->autoVersionIdMap[$affectedTable][$value])) {
    $value = $this->autoVersionIdMap[$affectedTable][$value];
}
if ($prependTable) {
    $value = $affectedTable . '_' . $value;
}
// Set a hint that this was a new child record:
$this->newRelatedIDs[$affectedTable][] = $value;
$valueArray[$key] = $value;

https://github.com/TYPO3/TYPO3.CMS/blob/10.4/typo3/sysext/core/Classes/DataHandling/DataHandler.php#L6249

We should not use the _ to follow the documented and expected behaviour.

The _ has no consequences right now, because we do not use the uids in relations yet. But this might change in the future and would result in broken behaviour.

Deleting a configuration causes an error if there were error entries

If a configuration is deleted although there are error entries for this configuration, this leads to the following error:

Return value of WerkraumMedia\ThueCat\Domain\Model\Backend\ImportLog::getConfiguration() must be an instance of WerkraumMedia\ThueCat\Domain\Model\Backend\ImportConfiguration, null returned

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.