ehaerer/paste-reference 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ehaerer/paste-reference

Composer 安装命令:

composer require ehaerer/paste-reference

包简介

Paste Reference - offers the option to paste references instead of copies for content elements in TYPO3

README 文档

README

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 bug-fixes 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,
  • major updates (e.g. 1.0.0 => 2.0.0) breaking changes which can be refactoring, features or bug-fixes.

4.3.1 Releases

To get the most recent development for the branch 4, consider installing the branch instead of the release. The branch v4-dev supports also TYPO3 v14 up to v14.1 and includes unreleased bug-fixes.

4.3.2 Branches

The following branches are of interest:

  • for TYPO3 v13 and v14: v4-dev

Note, that releases are usually to prefer, if possible. The branch v4-dev is ahead of the releases currently, so in this case using the branch is better and gives you most recent development changes.

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.

Issue Reports: Some aspects of the extension might not work like intended or expected, other things might need an update, or documentation or translations seem improvable. If you can't create an own pull request (PR) you can create just an issue only, describing the faulty behavior or problem and proposing a better solution perhaps.

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.

Financial support Development takes time and your financial support can enable developers to take the required time. Even small donations are a nice way to say "thank you for the development!". If you need invoices for the donations, please reach out to the according developers.

Currently the following active developers seek support:

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 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 instance in a predefined environment along with data set. See 5.2 for how to use ddev.

It might be useful to read the whole chapter 5 first before using the proposed commands, for being able to select the best proposition for the given use-case.

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="john.doe@example.com" \
        --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 Startup commands step by step

First startup and composer package installation

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

Setup TYPO3 using typo3 setup command

1) Using individual credentials

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

2) Using default credentials

For local development there exist default credentials, which are also applied above in 5.2.1 Single command start-up. If you want to use them you can execute the code-block below.

Note that you could use also individual values for the according variables, starting with --admin- and the --project-name. The other variables shouldn't be changed, if you don't know exactly what you do. You still had the benefit of non-interactive setup.

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="john.doe@example.com" \
        --project-name='ext-paste-reference' \
        --no-interaction \
        --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"

ehaerer/paste-reference 适用场景与选型建议

ehaerer/paste-reference 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 358.85k 次下载、GitHub Stars 达 19, 最近一次更新时间为 2021 年 02 月 17 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「TYPO3 CMS」 「content element」 「references」 「copy paste」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 ehaerer/paste-reference 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ehaerer/paste-reference 我们能提供哪些服务?
定制开发 / 二次开发

基于 ehaerer/paste-reference 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 358.85k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 20
  • 点击次数: 24
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 19
  • Watchers: 10
  • Forks: 28
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-02-17