fnagel / beautyofcode

TYPO3 CMS Extension beautyofcode
https://extensions.typo3.org/extension/beautyofcode/
GNU General Public License v2.0
6 stars 8 forks source link

Unable to properly insert plugin #42

Open tcrass opened 8 months ago

tcrass commented 8 months ago

Hi there,

after a year-long break, I today tried to insert another beautyofcode instance into one of my page ([+Conent]-Button -> "Plugins" tab -> "Sourcecode (beautyOfCode)"), but when the content editor opens, I get an error message at the top saying "An error occurred trying to process items for field "Programming Language" (Could not fetch page data for uid -10697.)." The "Content Element type" is empty, and in the "Programming Language" dropdown doesn't offer any choices, no matter if or what I configure in the content editor. If I nevertheless enter some code and save the reocrd, it gets converted to a simpe "Text" element, and the code lines get rendered as individual HTML paragraphs.

Same behaviour no matter which library implementation (Prism/SyntaxHighlighter) I chose.

I'm a bit lost and do not have any clue how to debug this issue, so any suggestions appreciated!

Cheers -- tcrass

P.S: I'm running

tcrass commented 8 months ago

In case it helps debugging this issue, here's what the Template Analyzer has to say about beautyOfCode:

Constants:

[GLOBAL]
plugin.tx_beautyofcode.settings {

        # cat=beautyofcode/enable/1; type=boolean; label=Template - Show label: If set to false the label within the template is hidden.
    showLabel = 1

        # cat=beautyofcode//1; type=string; label=Library implementation: do not change! Select the proper static template instead.
    library = Prism

        # cat=beautyofcode//2; type=string; label=Loaded programming languages: Define which programming languages should be available. Less is more: every brush is loaded a single js file. Note that some of these languages definitions depend on each other. CSV as stated in the documentation.
    brushes = clike,javascript,csharp,php,markup-templating,markup

        # cat=beautyofcode//3; type=string; label=Theme: One out of: coy, fark, funky, okaidia, tomorrow, twilight. Empty string for default theme.
    theme =

        # cat=beautyofcode//4; type=boolean; label=Gutter: Show or hide gutter. Helps user to recognize correct line with numbers.
    defaults.gutter = 1
}

Setup:

[GLOBAL]
plugin.tx_beautyofcode {
    settings {
        showLabel = {$plugin.tx_beautyofcode.settings.showLabel}

        library = {$plugin.tx_beautyofcode.settings.library}

        brushes = {$plugin.tx_beautyofcode.settings.brushes}
        theme = {$plugin.tx_beautyofcode.settings.theme}

        defaults {
            gutter = {$plugin.tx_beautyofcode.settings.defaults.gutter}
            # collapse is not available for Prism
        }
    }

    view {
        layoutRootPaths.0 = EXT:beautyofcode/Resources/Private/Layouts/
        templateRootPaths.0 = EXT:beautyofcode/Resources/Private/Templates/
        partialRootPaths.0 = EXT:beautyofcode/Resources/Private/Partials/
    }

    _CSS_DEFAULT_STYLE (
        .tx_beautyofcode pre { overflow: auto; }
    )
}

Since I haven't made any configuration changes after a re-installation attempt, this should pretty much represent the default configuration.

tcrass commented 8 months ago

OK, I managed to get a debug output from the getConfiguredLanguages function in LanguageItems.php using DebugUtility::debug($config, 'beautyOfCode configuration'). The $config array looks as follows:

array(14 items)
   items => array(1 item)
      0 => array(2 items)
         0 => 'LLL:EXT:beautyofcode/Resources/Private/Language/locallang_db.xml:plain' (70 chars)
         1 => 'plain' (5 chars)
   config => array(4 items)
      type => 'select' (6 chars)
      renderType => 'selectSingle' (12 chars)
      items => array(1 item)
      itemsProcFunc => 'FelixNagel\Beautyofcode\Configuration\Flexform\LanguageItems->getConfiguredL
         anguages' (84 chars)
   TSconfig => NULL
   table => 'tt_content' (10 chars)
   row => array(4 items)
      uid => 'NEW65a0e7fa02f05218466883' (25 chars)
      cLabel => '' (0 chars)
      cLang => '' (0 chars)
      cFile => '' (0 chars)
   field => 'cLang' (5 chars)
   inlineParentUid => '' (0 chars)
   inlineParentTableName => '' (0 chars)
   inlineParentFieldName => '' (0 chars)
   inlineParentConfig => array(empty)
   inlineTopMostParentUid => '' (0 chars)
   inlineTopMostParentTableName => '' (0 chars)
   inlineTopMostParentFieldName => '' (0 chars)
   flexParentDatabaseRow => array(75 items)
      colPos => '0' (1 chars)
      sys_language_uid => '0' (1 chars)
      CType => 'beautyofcode_contentrenderer' (28 chars)
      tx_gridelements_container => 0 (integer)
      tx_gridelements_columns => '0' (1 chars)
      pid => -10697 (integer)
      uid => 'NEW65a0e7fa02f05218466883' (25 chars)
      editlock => '' (0 chars)
      hidden => '' (0 chars)
      starttime => '0' (1 chars)
      endtime => '0' (1 chars)
      fe_group => '' (0 chars)
      categories => '0' (1 chars)
      l18n_parent => '0' (1 chars)
      l10n_source => '' (0 chars)
      layout => '0' (1 chars)
      frame_class => 'default' (7 chars)
      space_before_class => '' (0 chars)
      space_after_class => '' (0 chars)
      bullets_type => '0' (1 chars)
      date => '0' (1 chars)
      header => '' (0 chars)
      header_layout => '0' (1 chars)
      header_position => '' (0 chars)
      header_link => '' (0 chars)
      rowDescription => '' (0 chars)
      subheader => '' (0 chars)
      bodytext => '' (0 chars)
      image => '' (0 chars)
      assets => '' (0 chars)
      imagewidth => '0' (1 chars)
      imageheight => '0' (1 chars)
      imageorient => '0' (1 chars)
      imageborder => '' (0 chars)
      image_zoom => '' (0 chars)
      imagecols => '2' (1 chars)
      cols => '0' (1 chars)
      pages => '' (0 chars)
      recursive => '0' (1 chars)
      list_type => '' (0 chars)
      file_collections => '' (0 chars)
      media => '' (0 chars)
      filelink_size => '' (0 chars)
      filelink_sorting => '' (0 chars)
      filelink_sorting_direction => '' (0 chars)
      target => '' (0 chars)
      records => '' (0 chars)
      sectionIndex => '1' (1 chars)
      linkToTop => '' (0 chars)
      pi_flexform => array(2 items)
      accessibility_title => '' (0 chars)
      accessibility_bypass => '' (0 chars)
      accessibility_bypass_text => '' (0 chars)
      l18n_diffsource => '' (0 chars)
      selected_categories => '' (0 chars)
      category_field => '' (0 chars)
      table_class => '' (0 chars)
      table_caption => '' (0 chars)
      table_delimiter => '124' (3 chars)
      table_enclosure => '0' (1 chars)
      table_header_position => '0' (1 chars)
      table_tfoot => '0' (1 chars)
      uploads_description => '0' (1 chars)
      uploads_type => '0' (1 chars)
      tx_impexp_origuid => '' (0 chars)
      tx_dce_dce => '0' (1 chars)
      tx_dce_index => '' (0 chars)
      tx_dce_slug => '' (0 chars)
      tx_dce_new_container => '' (0 chars)
      tx_gridelements_backend_layout => '0' (1 chars)
      tx_gridelements_children => '' (0 chars)
      crdate => '' (0 chars)
      tstamp => '' (0 chars)
      tx_news_related_news => '' (0 chars)
      t3_origuid => '0' (1 chars)

Initially, I had forgotton to use \TYPO3\CMS\Core\Utility\DebugUtility, so a stack trace was shown in the backend when trying to insert a new BoC plugin. It was actually a very nice stack trace, which also dumped the argument values of each function call. By this, I could track the suspicious pid of -10697 up to

at TYPO3\CMS\Backend\Form\FormDataCompiler->compile(array('tableName' => 'tt_content', 'vanillaUid' => -10697, 'command' => 'new', 'returnUrl' => '/typo3/record/edit?token=b5f854f1e67e5f84aea7bdfdbec21df0f8b9019c&edit%5Btt_content%5D%5B-10697%5D=new&returnUrl=%2Ftypo3%2Fmodule%2Fweb%2Flayout%3Ftoken%3D306dca8825b7945f1e04bd3db3725ec9215d3541%26id%3D1653&defVals%5Btt_content%5D%5BCType%5D=beautyofcode_contentrenderer&defVals%5Btt_content%5D%5Btx_gridelements_columns%5D=0&defVals%5Btt_content%5D%5BcolPos%5D=0&defVals%5Btt_content%5D%5Bsys_language_uid%5D=0&route=%2Frecord%2Fedit', 'defaultValues' => array('tt_content' => array('CType' => 'beautyofcode_contentrenderer', 'tx_gridelements_columns' => '0', 'colPos' => '0', 'sys_language_uid' => '0'))))

where it shows up as vanillaUid. Further up in the chain of events, I see this strange -10697 value as URL parameter being passed when clicking the [+Conent] button:

GET https://www.my.site/typo3/record/content/wizard/new?token=f0c218337692a5d1e56f73737b2118c8495cbb27&id=1653&sys_language_uid=0&colPos=0&tx_gridelements_allowed=eyJDVHlwZSI6IioifQ==&uid_pid=-10697&returnUrl=/typo3/module/web/layout?token=306dca8825b7945f1e04bd3db3725ec9215d3541&id=1653

Now that's weird -- of course, I don't have any records with negtive IDs, but I do have a record in tt_content which has a uid of 10697 -- which is the content record immediately preceeding the newly created plugin! In fact, wherever I try to insert a BoC plugin, a negative version of its preceeding content element's uid gets passed as uid_pid parameter!

When I try to insert a BoC plugin right at the top of a page, the page's uid gets passed as uid_pid value, which is probably what should actually always happen.

Alas... even in this case I'm unable to properly insert a beatyOfCode element! As mentioned in my first post, the "Content Element type" of a newly created BoC plugin is empty. I just now realized that the corresponding dropdown's first option is [ INVALID VALUE ("beautyofcode_contentrenderer") ] [beautyofcode_contentrenderer], which doesn't seem right.

fnagel commented 8 months ago

Thanks for the detailed bug report!

I've tested this again in TYPO3 v11 and v12 and I never get a negative pid for new BoC plugins CE's. I would say, the Page ID (PID) can never be negative as it's not possible to create a new content element on a non existing page. When I click the "add content" button, the uid_pid parameter is always the actual page record UID.

It's a wild guess, but a afaics you are using EXT:gridelements, right? Are you trying to create a BoC plugin within a grid? I remember that Gridelements does things with the PIDs just like EXT:flux does. Maybe this is the issue? Maybe you are able to investigate if there is a Gridelements class involved in the stacktrace?

Can you try to disable Gridelements for a quick test? Or at least make sure to use BoC outside of a Gridelement element?

When I try to insert a BoC plugin right at the top of a page, the page's uid gets passed as uid_pid value, which is probably what should actually always happen.

Yes and as stated above, this is what happens in my TYPO3 instances. Thing is, we need the PID for generation the TS based language list.

Alas... even in this case I'm unable to properly insert a beatyOfCode element! As mentioned in my first post, the "Content Element type" of a newly created BoC plugin is empty.

So, even when you have a proper PID the select has no options? Can you please check what is returned in getBrushesConfig and what $this->contentElementPid is at that point in the code?

How do you add your TS? On root page or more specific? Can you check in the TS analyzer (TS module -> active TS) if the brushes array is available on the page?

tcrass commented 8 months ago

Hi there,

It's a wild guess, but a afaics you are using EXT:gridelements, right?

yes, I do.

Are you trying to create a BoC plugin within a grid?

No.

I remember that Gridelements does things with the PIDs just like EXT:flux does. Maybe this is the issue? Maybe you are able to investigate if there is a Gridelements class involved in the stacktrace?

Doesn't look like there's any Gridelements class involved. (Loads of gridelements data passed as parameters, though; like container and column information.)

Can you try to disable Gridelements for a quick test? Or at least make sure to use BoC outside of a Gridelement element?

Unfortunately, nothing changes if I remove gridelements from the root template's static includes (all my sites basically share a common root template) or even unload it in the extension manager. So Gridelements is probably not the culprit.

So, even when you have a proper PID the select has no options? Can you please check what is returned in getBrushesConfig and what $this->contentElementPid is at that point in the code?

$this->contentElementPid is always 0, but when I try to get a debug output in LanguageItems.getConfiguredLanguages through DebugUtility::debug($this->getBrushesConfig(), 'beautyOfCode brushes config');, instead of a debug message, I get a red error banner on top of the CE editor, saying "An error occurred trying to process items for field "Programming Language" (No TypoScript settings for EXT:beautyofcode available.).".

How do you add your TS? On root page or more specific?

All TS setup is done in the global root page; I only adjust some constants in each site's root.

Can you check in the TS analyzer (TS module -> active TS) if the brushes array is available on the page?

Yes, according to the Typoscript Object browser, the site's brushes value (set to bash) is readily available in the page under question:

[plugin]
+ [tx_beautyofcode]
  + [_CSS_DEFAULT_STYLE] = .tx_beautyofcode pre { overflow: auto; }
  + [settings]
    + [brushes] = bash
    + [defaults]
    + [library] = Prism
    + [showLabel] = 1
    + [theme] = 
  + [view]

Cheers -- tcrass

fnagel commented 8 months ago

Unfortunately, nothing changes if I remove gridelements from the root template's static includes (all my sites basically share a common root template) or even unload it in the extension manager. So Gridelements is probably not the culprit.

I was really thinking this could be the issue, but removing it from the system without any improvement (e.g. still negative PIDs) is a strong indicator for another cause of this bug. Can you please post the stack trace you were talking about earlier? Perhaps I will notice something else that could cause the issue. There must be a reason why there is no page ID available...

So, even when you have a proper PID the select has no options? Can you please check what is returned in getBrushesConfig and what $this->contentElementPid is at that point in the code?

$this->contentElementPid is always 0, but when I try to get a debug output in LanguageItems.getConfiguredLanguages through DebugUtility::debug($this->getBrushesConfig(), 'beautyOfCode brushes config');, instead of a debug message, I get a red error banner on top of the CE editor, saying "An error occurred trying to process items for field "Programming Language" (No TypoScript settings for EXT:beautyofcode available.).".

Can you debug why $this->contentElementPid is always 0? To get a debug message in the hook, try adding a die(); after the debug statement. Or use a debugger like Xdebug.

When I try to insert a BoC plugin right at the top of a page, the page's uid gets passed as uid_pid value, which is probably what should actually always happen.

What is the difference between your top of a page and the other parts? I guess different colPos in your page layouts? Anything else? When adding something the top part, what is the value of flexParentDatabaseRow.pid?

I just now realized that the corresponding dropdown's first option is [ INVALID VALUE ("beautyofcode_contentrenderer") ] [beautyofcode_contentrenderer], which doesn't seem right.

This sounds like you are not allowed to add this plugin to the head of the page. Different issue? Please check your PageTS if its not explicitly allowed or even disallowed.

tcrass commented 8 months ago

Hi there,

Can you please post the stack trace you were talking about earlier? Perhaps I will notice something else that could cause the issue. There must be a reason why there is no page ID available...

boc-stacktrace.txt

Can you debug why $this->contentElementPid is always 0? To get a debug message in the hook, try adding a die(); after the debug statement.

Oh, sorry, my mistake -- I initially logged the value of $this->contentElementPid before it got actually determined in 99 to 105 in LanguageItems.php... After these lines are processed, I get the values described above: the proper page uid when trying to add BoC on top of the page and funny negative values when trying to add BoC further down the list.

Or use a debugger like Xdebug.

Since I'm running my Typo3 instance on a shared hosting platform, I have only very limited direct access to the system, so xdebug is probably not an option.

When I try to insert a BoC plugin right at the top of a page, the page's uid gets passed as uid_pid value, which is probably what should actually always happen.

What is the difference between your top of a page and the other parts? I guess different colPos in your page layouts?

Yeah, maby this was a bit misleading... I don't have any fancy page layout with different columns/sections (not on the page I'm currently struggling with, anyway) -- with "at the top of a page" I just meant that I tried to insert BoC as first content element in the list, before any other already existing elements. So colPos is 0.

Anything else? When adding something the top part, what is the value of flexParentDatabaseRow.pid?

According to the stack trace, when trying to insert BoC further down in the page (i.e. not as first content element, leading to one of these funny negative pids):

'flexParentDatabaseRow' => array(
    'colPos' => '0', 
    'sys_language_uid' => '0', 
    'CType' => 'beautyofcode_contentrenderer', 
    'tx_gridelements_container' => 0, 
    'tx_gridelements_columns' => '0', 
    'pid' => -10697, 
    'uid' => 'NEW65ab6bcd4d67d341231998', 
    'editlock' => '', 
    'hidden' => '', 
    'starttime' => '0', 
    'endtime' => '0', 
    'fe_group' => '', 
    'categories' => '0', 
    'l18n_parent' => '0', 
    'l10n_source' => '', 
    'layout' => '0', 
    'frame_class' => 'default', 
    'space_before_class' => '', 
    'space_after_class' => '', 
    'bullets_type' => '0', 
    'date' => '0', 
    'header' => '', 
    'header_layout' => '0', 
    'header_position' => '', 
    'header_link' => '', 
    'rowDescription' => '', 
    'subheader' => '', 
    'bodytext' => '', 
    'image' => '', 
    'assets' => '', 
    'imagewidth' => '0', 
    'imageheight' => '0', 
    'imageorient' => '0', 
    'imageborder' => '',
    'image_zoom' => '',
    'imagecols' => '2',
    'cols' => '0',
    'pages' => '',
    'recursive' => '0',
    'list_type' => '',
    'file_collections' => '',
    'media' => '',
    'filelink_size' => '',
    'filelink_sorting' => '',
    'filelink_sorting_direction' => '',
    'target' => '',
    'records' => '',
    'sectionIndex' => '1',
    'linkToTop' => '',
    'pi_flexform' => array('data' => array(),
    'meta' => array()),
    'accessibility_title' => '',
    'accessibility_bypass' => '',
    'accessibility_bypass_text' => '',
    'l18n_diffsource' => '',
    'selected_categories' => '',
    'category_field' => '',
    'table_class' => '',
    'table_caption' => '',
    'table_delimiter' => '124',
    'table_enclosure' => '0',
    'table_header_position' => '0',
    'table_tfoot' => '0',
    'uploads_description' => '0',
    'uploads_type' => '0',
    'tx_impexp_origuid' => '',
    'tx_dce_dce' => '0',
    'tx_dce_index' => '',
    'tx_dce_slug' => '',
    'tx_dce_new_container' => '',
    'tx_gridelements_backend_layout' => '0',
    'tx_gridelements_children' => '',
    'crdate' => '',
    'tstamp' => '',
    'tx_news_related_news' => '',
    't3_origuid' => '0'
)

I just now realized that the corresponding dropdown's first option is [ INVALID VALUE ("beautyofcode_contentrenderer") ] [beautyofcode_contentrenderer], which doesn't seem right.

This sounds like you are not allowed to add this plugin to the head of the page. Different issue? Please check your PageTS if its not explicitly allowed or even disallowed.

I do have a backend layout for the page in question, the PageTS of which looks like this:

mod.web_layout.BackendLayouts {
  exampleKey {
    title = Example
    icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif
    config {
      backend_layout {
        colCount = 1
        rowCount = 1
        rows {
          1 {
            columns {
              1 {
                name = Main content
                colPos = 0
              }
            }
          }
        }
      }
    }
  }
}

So nothing seems to be explicitly allowed or disallowed. Funny thing is, when opening the editor for the "Main content" cell (which is this layout's only cell), BoC doesn't show up in the list of plugins available for selection, neither in the "allowed" nor in the "disallowed" section. (The only plugin showing up is indexedsearch, which I currently don't actually use in my websites.)

Cheers -- tcrass

fnagel commented 7 months ago

boc-stacktrace.txt

Thanks. The stack trace looks okay to me.

Yeah, maby this was a bit misleading... I don't have any fancy page layout with different columns/sections (not on the page I'm currently struggling with, anyway) -- with "at the top of a page" I just meant that I tried to insert BoC as first content element in the list, before any other already existing elements.

Ahh okay, so no other colPos fields => only one content area.

After these lines are processed, I get the values described above: the proper page uid when trying to add BoC on top of the page and funny negative values when trying to add BoC further down the list.

Soo... it works as long its the only content element added to a page?

So nothing seems to be explicitly allowed or disallowed. Funny thing is, when opening the editor for the "Main content" cell (which is this layout's only cell), BoC doesn't show up in the list of plugins available for selection, neither in the "allowed" nor in the "disallowed" section.

Ok, that sounds strange enough already. Seems there is something wrong with the TSconfig. Maybe there is some keepItems for tt_content enabled? https://docs.typo3.org/m/typo3/reference-tsconfig/main/en-us/PageTsconfig/TceForm.html#keepitems

Can you try to downgrade to BoC v5.2.0? Problem is, that version does not support PHP 8.2, you might need to change the constraints in ext_emconf.php and composer.json manually.

tcrass commented 7 months ago

Ok, that sounds strange enough already. Seems there is something wrong with the TSconfig. Maybe there is some keepItems for tt_content enabled?

I don't think so. Here's the relevant section from my root page TSConfig (and there's no additional page TSConfig further down the tree):

TCEFORM.pages{

  # Change label of backend layout dropdown
  backend_layout.label = Layout
  backend_layout.altLabels.0 = [inherit]
  # Remove unnecessary entries
  backend_layout.removeItems = -1,3,4,5

  # Change label of sub-page's backend layout dropdown
  backend_layout_next_level.label = Layout (sub-pages)
  backend_layout_next_level.altLabels.0 = [inherit]
  # Remove unnecessary entries
  backend_layout_next_level.removeItems = -1,3,4,5

  # Disable frontend layout dropdown
  layout.disabled = 1
}

Can you try to downgrade to BoC v5.2.0? Problem is, that version does not support PHP 8.2, you might need to change the constraints in ext_emconf.php and composer.json manually.

I was able to install 5.2.0 without any problem after acknowledging the warning issued by the extension manager. Now inserting BoC as first content element on a page works flawlessly (no error message shown, and I can select a programming language from the drop-down), but when trying to add a BoC content element further down the page, I still get the error message complaining about not being able to fetch data for a negative uid, and the programming language drop-down has "Default (Plain text)" as only option.

It looks as though there are two different issues: 6.0.0 not getting properly installed (in contrast to 5.2.0), and negative uids when inserting BoC not as the page's first content element.

Cheers -- tcrass

fnagel commented 7 months ago

Thanks for the feedback. I must confess, I have no more ideas what the issue might be here. Never had any issues with 5.x and no problems reported for 6.0.0 so far. To me, it looks like something is broken in your installation or has compatibility issues with EXT:beautyofcode. Unsure how to proceed here. Maybe we should do a screen share session and try to find the issue together.

6.0.0 not getting properly installed (in contrast to 5.2.0)

What is the issue when installing 6.0.0? Did I miss something?

tcrass commented 6 months ago

Hi Felix,

sorry for the delay -- I've had some terribly busy weeks..

6.0.0 not getting properly installed (in contrast to 5.2.0)

What is the issue when installing 6.0.0? Did I miss something?

I was just referring to the observation that with 6.0.0 the plugin seems to be missing from various drop-down lists ("allowed"/"disallowed" content element types in backend layout configuration, "selected plugin" in "plugin" tab of "Insert Plugin" content element...) and that the configured selection of programming languages apparently doesn't find its way into the corresponding drop-down list (always only "Default (plain text)" available).

Thanks for the feedback. I must confess, I have no more ideas what the issue might be here. Never had any issues with 5.x and no problems reported for 6.0.0 so far. To me, it looks like something is broken in your installation or has compatibility issues with EXT:beautyofcode. Unsure how to proceed here. Maybe we should do a screen share session and try to find the issue together.

That would, of course, be awesome! Sure you want to spend time on this? After all, this is only about a small hobby website, nothing serious...

Cheers -- tcrass

fnagel commented 5 months ago

Hi Torsten!

Let's try and maybe we'll be able to fix it. When do you have some time? Probably next week, sometime in the evening around 8pm? What do you think?

tcrass commented 5 months ago

Hi Felix,

sorry for my sluggish reply -- I've been on holiday for the last two weeks (and literally AFK ;)

Let's try and maybe we'll be able to fix it. When do you have some time? Probably next week, sometime in the evening around 8pm? What do you think?

That would be so great!

Is what would now be "next week" (i.e. the first week of April) still OK for you? I'd be free on

What video conferencing technology would you prefer? I am pretty comfortable with Jitsi or any other web-based platform, but Zoom would be fine, too.

Cheers -- Torsten

P.S. 8pm refers to UTC+02:00, I presume?

tcrass commented 5 months ago

Regarding negative pids: According to various sources (e.g. https://forge.typo3.org/issues/14503, https://stackoverflow.com/questions/51046928/tt-content-elements-with-a-pid-value-of-1-what-is-the-reason and -- last, but not least -- https://github.com/TYPO3/typo3/blob/11.5/typo3/sysext/core/Classes/DataHandling/DataHandler.php line 8590 ff), negative pids seem to be a normal part of Typo3's operation when inserting new content elements. If I understand correctly, a negative pid usually refers to the content element after which the new content element is supposed to be inserted. This is exactly what I observed as described above -- so nothing wrong with my installation, at least in this regard.

Cheers -- Torsten