Skip to content

Paste reference instead of copy for content elements in TYPO3

License

Notifications You must be signed in to change notification settings

Kephson/paste_reference

Repository files navigation

TYPO3 Extension paste_reference

Latest Stable Version Latest Unstable Version License Total Downloads Monthly Downloads CI - main

This extension brings the extracted functions from gridelements to copy and paste content elements also as reference and not only as copy. A lot of TYPO3 users love these features but don't know that this aren't core features.

1 Features

  • Copy content elements and paste as reference (also in context menu with right click)
  • Copy content elements from other pages in page module
  • Full documentation in TYPO3 TER

2 Usage

2.1 Installation

Installation using Composer

The recommended way to install the extension is using Composer.

Run the following command within your Composer based TYPO3 project:

composer require ehaerer/paste-reference

Installation as extension from TYPO3 Extension Repository (TER) - not recommended

Download and install the extension with the extension manager module.

2.2 Minimal setup

  1. Just install the extension and you are done

3 Report issues

Please report issue directly in the issue tracker in the Github repository.

4 Administration corner

4.1 Settings in extension configuration

  • disableCopyFromPageButton - You can disable the "copy from page button" in the page module if you don't need it.

4.2 Changelog

Please look into the official extension documentation in changelog chapter.

4.3 Release Management

Paste reference uses semantic versioning, which means, that

  • bugfix updates (e.g. 1.0.0 => 1.0.1) just includes small bugfixes or security relevant stuff without breaking changes,
  • minor updates (e.g. 1.0.0 => 1.1.0) includes new features and smaller tasks without breaking changes,
  • and major updates (e.g. 1.0.0 => 2.0.0) breaking changes wich can be refactorings, features or bugfixes.

4.4 Contribution

Pull Requests are gladly welcome! Nevertheless please don't forget to add an issue and connect it to your pull requests. This is very helpful to understand what kind of issue the PR is going to solve.

Bugfixes: Please describe what kind of bug your fix solve and give us feedback how to reproduce the issue. We're going to accept only bugfixes if we can reproduce the issue.

Features: Not every feature is relevant for the bulk of paste_reference users. In addition: We don't want to make paste_reference even more complicated in usability for an edge case feature. It helps to have a discussion about a new feature before you open a pull request.

5 Local development

5.1 Overview

This repository contains a so-called Extension for the TYPO3 CMS which cannot be used on its own but has been prepared to install required dependency to provide a TYPO3 v12 composer based installation within the untracked .Build/ folder with .Build/public/ being the doc-root to point a web-server on.

For simpler onboarding a generic ddev project configuration is included to quickstart a local TYPO3 v12 instance in a predefined environment along with data set. See 5.2 for how to use ddev.

5.2 Use ddev to setup a local development instance

Please ensure to have the pre-requisit ddev and docker/colima/... installed and working to follow this section.

5.2.1 Single command start-up

ddev start \
  && ddev composer install \
  && ddev restart \
  && ddev typo3 setup \
        --driver=mysqli \
        --host=db \
        --port=3306 \
        --dbname=db \
        --username=db \
        --password=db \
        --admin-username=john-doe \
        --admin-user-password='John-Doe-1701D.' \
        --admin-email="[email protected]" \
        --project-name='ext-paste-reference' \
        --no-interaction \
        --server-type=apache \
        --force \
  && ddev restart \
  && ddev typo3 cache:warmup \
  && ddev typo3 styleguide:generate --create all \
  && ddev typo3 cache:warmup \
  && ddev launch /typo3/

which creates a instance with two different hidden page trees and a admin user without asking for it. Adjust the --admin-* arguments to match your needs.

5.2.2 Splittet startup commands

First startup and composer package installation

ddev start \
  && ddev composer install \
  && ddev restart

Setup TYPO3 using typo3 setup command

Note that the following command is interactive and asks for admin user credential, name and email. Ensure to remember the values you enter here for later login into the TYPO3 backend.

ddev typo3 setup \
    --driver=mysqli \
    --host=db \
    --port=3306 \
    --dbname=db \
    --username=db \
    --password=db \
    --server-type=apache \
    --force \
  && ddev restart

Use EXT:styleguide to create page trees

ddev typo3 styleguide:generate --create all \
  && ddev typo3 cache:warmup

Launch the backend login form

ddev launch /typo3/

5.2.3 Stop & destroy ddev instance

Simply stop ddev instance

ddev stop

Completely remove ddev instance

ddev stop -ROU

5.3 Render documentation

To render the documentation, the TYPO3 Documentation render-guides image can be used, which is included in the Build/Scripts/runTests.sh dispatcher script.

Render documentation

Build/Scripts/runTests.sh -s renderDocumentation

Open rendered documentation (Linux>

Build/Scripts/runTests.sh -s renderDocumentation
xdg-open "Documentation-GENERATED-temp/Index.html"

Open rendered documentation (MacOS)

Build/Scripts/runTests.sh -s renderDocumentation
open "Documentation-GENERATED-temp/Index.html"

Open rendered documentation (Windows)

Build/Scripts/runTests.sh -s renderDocumentation
start "Documentation-GENERATED-temp/Index.html"