From b61247a55d433c720782e5d62c5fbb99d706baa1 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Thu, 18 Dec 2025 20:08:42 +0100 Subject: [PATCH 1/3] [TASK] Add target to change the core --- Makefile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Makefile b/Makefile index fd07707..1cc4c4a 100644 --- a/Makefile +++ b/Makefile @@ -40,13 +40,30 @@ cleanup: ##@ Cleanup project folder of all files that are not part of the sessio ##@ Install/Update +.PHONY: switch-core +switch-core: ##@ Require core version. Needs version number given as argument. [^12.4|^13.4] + @if [[ $(_ARGS) != \^12.* ]] && [[ $(_ARGS) != \^13.* ]]; + then \ + echo "This version of sessionplaner only supports v12.4 and v13.4"; + exit; + else + echo "Composer require typo3/cms-core:$(_ARGS) started" + Build/Scripts/runTests.sh -s clean + Build/Scripts/runTests.sh -s composer require -W "typo3/cms-core:$(_ARGS)" + echo "Composer require typo3/cms-core:$(_ARGS) finished" + fi + .PHONY: composer-install composer-install: ##@ Install composer packages + echo "Composer install started" Build/Scripts/runTests.sh -s composer install + echo "Composer install finished" .PHONY: composer-update composer-update: ##@ Update composer packages + echo "Composer update started" Build/Scripts/runTests.sh -s composer update + echo "Composer update finished" .PHONY: npm-install npm-install: ##@ Install npm packages From 4784919f1d9ed2155a3bb2aac47e3d29d3596af5 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Thu, 18 Dec 2025 21:19:31 +0100 Subject: [PATCH 2/3] [TASK] Add german language to site config --- Build/config/sites/main/config.yaml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Build/config/sites/main/config.yaml b/Build/config/sites/main/config.yaml index ba6c748..bfddad0 100644 --- a/Build/config/sites/main/config.yaml +++ b/Build/config/sites/main/config.yaml @@ -1,5 +1,4 @@ base: 'https://ext-sessionplaner.ddev.site/' -errorHandling: { } languages: - title: English @@ -7,7 +6,21 @@ languages: languageId: 0 base: / locale: en_US.UTF-8 + hreflang: en-GB + websiteTitle: '' navigationTitle: English - flag: us -rootPageId: 3 -routes: { } + flag: gb + - + title: Deutsch + enabled: true + languageId: 1 + base: /de + locale: de_DE.utf8 + hreflang: de-DE + websiteTitle: '' + navigationTitle: Deutsch + fallbackType: strict + fallbacks: '' + flag: de +rootPageId: 1 +websiteTitle: '' From 125c976268821eed2820fface8762a4d0f4ce672 Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Fri, 19 Dec 2025 12:27:55 +0100 Subject: [PATCH 3/3] [TASK] Add tutorial to documentation and update index.rst --- .../{Includes.txt => Includes.rst.txt} | 0 Documentation/Index.rst | 45 ++++++++--------- Documentation/Installation/Index.rst | 23 +++------ Documentation/Introduction/Index.rst | 9 ++-- Documentation/Sitemap.rst | 17 +++---- Documentation/Tutorial/Index.rst | 48 +++++++++++++++++++ 6 files changed, 90 insertions(+), 52 deletions(-) rename Documentation/{Includes.txt => Includes.rst.txt} (100%) create mode 100644 Documentation/Tutorial/Index.rst diff --git a/Documentation/Includes.txt b/Documentation/Includes.rst.txt similarity index 100% rename from Documentation/Includes.txt rename to Documentation/Includes.rst.txt diff --git a/Documentation/Index.rst b/Documentation/Index.rst index f4b194d..f6332e8 100644 --- a/Documentation/Index.rst +++ b/Documentation/Index.rst @@ -1,53 +1,54 @@ -.. include:: Includes.txt +.. include:: /Includes.rst.txt .. _start: -======================================= -sessionplaner: TYPO3Camp Session planer -======================================= +========================== +TYPO3 event Session planer +========================== :Extension key: sessionplaner +:Package name: + evoweb/sessionplaner + :Version: |release| :Language: en -:Description: - TYPO3camp session planing inside TYPO3 - -:Keywords: - forIntegrator - -:Copyright: - 2013-2022 - :Author: evoWeb :License: - Open Content License available from http://www.opencontent.org/opl.shtml + This document is published under the + `Creative Commons BY-NC-SA 4.0 `__ + license. :Rendered: |today| +---- + The content of this document is related to TYPO3, a GNU/GPL CMS/Framework available from http://typo3.org -.. only:: html - - .. tip:: +---- - :ref: `Sitemap` - -**Table of Contents** +**Table of Contents:** .. toctree:: - :maxdepth: 5 + :maxdepth: 2 :titlesonly: - :glob: Introduction/Index Installation/Index + Tutorial/Index + +.. Meta Menu + +.. toctree:: + :hidden: + + Sitemap diff --git a/Documentation/Installation/Index.rst b/Documentation/Installation/Index.rst index 0b34747..c0cd284 100644 --- a/Documentation/Installation/Index.rst +++ b/Documentation/Installation/Index.rst @@ -1,4 +1,4 @@ -.. include:: ../Includes.txt +.. include:: /Includes.rst.txt .. _installation: @@ -8,7 +8,7 @@ Installation Download via Extension Manager ------------------------------- +============================== In the TYPO3 Backend go to Admin Tools > Extensions. Change in the dropdown on the top left to 'Get Extensions', enter the extension key 'sessionplaner' @@ -17,20 +17,11 @@ list install the extension by hitting the action for that. Download via Composer ---------------------- +===================== -Add evoweb/sessionplaner to the require in your composer.json like in the -following example and run 'composer install'. +Execute the command below in the shell on project root level. -:: +.. code-block:: shell + :caption: Enter on shell - { - "require": { - "typo3/cms-core": "^10.0", - "evoweb/sessionplaner": "*", - } - } - - -Alternatively if you have an existing project with a configured composer.json you -can add sessionplaner with the command by running 'composer require evoweb/sessionplaner'. + composer require evoweb/store-finder diff --git a/Documentation/Introduction/Index.rst b/Documentation/Introduction/Index.rst index 12973e2..b67efd1 100644 --- a/Documentation/Introduction/Index.rst +++ b/Documentation/Introduction/Index.rst @@ -1,21 +1,22 @@ -.. include:: ../Includes.txt +.. include:: /Includes.rst.txt -.. _introduction: +.. _introduction: ============ Introduction ============ +.. _what-it-does: What does it do? ----------------- +================ In the backend a module assists the planing process by adding sessions in a grid of all possible time slots and available rooms. It helps keeping an overview of which slots are booked and which are free. .. figure:: ../Images/sessionplaner-backend.png - :alt: Example of the frontend rendering with sessionplaner + :alt: Example of the backend module of the sessionplaner In frontend the session plan is rendered in a table style. For example look diff --git a/Documentation/Sitemap.rst b/Documentation/Sitemap.rst index 0a870d8..c809724 100644 --- a/Documentation/Sitemap.rst +++ b/Documentation/Sitemap.rst @@ -1,14 +1,11 @@ -:orphan: +:template: sitemap.html -.. include:: Includes.txt +.. include:: /Includes.rst.txt -.. only:: html +.. _sitemap: - .. _Sitemap: +======= +Sitemap +======= - Sitemap - ======= - - .. toctree:: - - Index +.. The sitemap.html template will insert here the page tree automatically. diff --git a/Documentation/Tutorial/Index.rst b/Documentation/Tutorial/Index.rst new file mode 100644 index 0000000..282a472 --- /dev/null +++ b/Documentation/Tutorial/Index.rst @@ -0,0 +1,48 @@ +.. include:: /Includes.rst.txt + +.. _tutorial: + +======== +Tutorial +======== + +Preparation for planing +======================= + +To be able to plan sessions you need to add the following: + +* a folder for the planing data +* for each day of the event you need to add a "Session Planer Day" + - the days need to get "Slots" added to it for each slot that is available on that day +* for each room in which you are having sessions a "Session Planer Room" + - add the "Days" to the room on which that room is available + - the rooms need to get "Slots" added to it for each slot that is available in that room +* edit each day and add the rooms that are available on that day +* in the "Session Planer" module, you should now have a grid comparable the screenshot + +.. figure:: ../Images/sessionplaner-backend.png + :alt: Example of the backend module of the sessionplaner + +Configuring the frontend +======================== + +For the frontend you need at least one page with a plugin of type "Sessionplaner: Sessionplan". + +For more complex needs you need to play with the other modules: + +* "Sessionplaner: Session" +* "Sessionplaner: Tag" +* "Sessionplaner: Speakers" +* "Sessionplaner: Suggest Sessions" + +Each plugin comes with it's own settings as plugin options and do not need to be configured in TypoScript. + +TypoScript is only needed to override the templates, partials or layouts. These can be configured with constants: + +* `plugin.tx_sessionplaner.view.templateRootPath` +* `plugin.tx_sessionplaner.view.partialRootPath` +* `plugin.tx_sessionplaner.view.layoutRootPath` + +There is one exemption from this and that is the "Suggest Sessions" plugin. The form for that is configured +within the `plugin.tx_sessionplaner.settings.suggest` key. Take a deeper look into +Configuration/TypoScript/setup.typoscript