extensions.typo3.org issueshttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues2023-03-30T10:10:31Zhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/580Add permissions for actions2023-03-30T10:10:31ZStefan BusemannAdd permissions for actions### Summary
Some actions need a permission check, that they can only performed by certain users.
### Steps to reproduce
...
### Example URL
### What is the current *bug* behavior?
### What is the expected *correct* behavior?
**Ac...### Summary
Some actions need a permission check, that they can only performed by certain users.
### Steps to reproduce
...
### Example URL
### What is the current *bug* behavior?
### What is the expected *correct* behavior?
**Acceptence Criterias**
* [ ] actions are identified and permissions are added_Ready for sprintStefan BusemannStefan Busemannhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/575Update Environment to TYPO3 11.5.25 and SOLR 10.5.12023-02-15T22:00:16ZStefan BusemannUpdate Environment to TYPO3 11.5.25 and SOLR 10.5.1If I edit a page, I receive an error:
`503
Oops, an error occurred! Event: 0f084705237e4ba38b8d30c44711f7c5
Too few arguments to function ApacheSolrForTypo3\Solr\Domain\Index\Queue\QueueInitializationService::__construct(), 0 passed in...If I edit a page, I receive an error:
`503
Oops, an error occurred! Event: 0f084705237e4ba38b8d30c44711f7c5
Too few arguments to function ApacheSolrForTypo3\Solr\Domain\Index\Queue\QueueInitializationService::__construct(), 0 passed in /home/extensions-prod/ci/releases/52/private/typo3/sysext/core/Classes/Utility/GeneralUtility.php on line 3249 and exactly 1 expected
`
AC:
* Editing of pages throws no error
* Environment is update_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/544Add option for extensions to be composer-only2023-11-23T10:56:21ZThomas LöfflerAdd option for extensions to be composer-only## Background
Some extensions may use external packages installed via composer and don't want to include those libraries into the extension as phar or as complete directories.
## Acceptance criterias
* [ ] Option to mark extension as ...## Background
Some extensions may use external packages installed via composer and don't want to include those libraries into the extension as phar or as complete directories.
## Acceptance criterias
* [ ] Option to mark extension as "composer only"
* [ ] Remove option to download as ZIP
* [ ] Replace download button in list with alternative
* [ ] Marked extensions are not listed at the Extension Manager
* [ ] Ensure that author can only add own (or allowed - how?) packages
* [ ] Ensure uniqueness of package name (deny package, if we have an extension record with same package name)
* [ ] Use packagist API to fetch package details_Ready for sprintTorben HansenTorben Hansenhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/456Extensionkey renew fails2020-07-21T10:02:19ZStefan BusemannExtensionkey renew failsvia ORTS: Ticket#20200716609000021
> Hi.
>
> Got the email last night on my key that is going to expire: birdiebook
> I logged in and clicked at the "renew" logo and got and error shown: "Opps an error has occurred".
>
> Could you l...via ORTS: Ticket#20200716609000021
> Hi.
>
> Got the email last night on my key that is going to expire: birdiebook
> I logged in and clicked at the "renew" logo and got and error shown: "Opps an error has occurred".
>
> Could you look into this for me?
>
> Thanks.
>
>
> Den tor. 16. jul. 2020 kl. 04.01 skrev <maintenance@typo3.org>:
> Dear extension owner,
>
> You have 1 extension key[s] in your repository (username: "tomasnorre") which have never had an upload or weren't touched for one year.
> Due to cleanup process we want to inform you that these extension keys will expire in 30 days unless you take action (see below):
>
>
> # birdiebook
>
>
> Log into extensions.typo3.org and head to https://extensions.typo3.org/my-extensions/ to get a list of these keys and available actions:
>
> * Releasing the extension key to the public, so another developer can use this key
> * Keep the extension key (the process of expiration will be started again in one year)
> * Upload a version of this extension to the TER
>
> Warning: If no action is taken the extension keys listed above will be released to the community (deleted from the list of registered keys). Extension keys with publicly released extension versions in the TER won't be affected.
AC:
* [ ] Renew is possible_Ready for sprintTomas Norre MikkelsenTomas Norre Mikkelsenhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/450Button to packagist.org is shown but links to start page2020-04-28T12:15:30ZThomas LöfflerButton to packagist.org is shown but links to start pageWhen there is no composer name, the button to packagist is shown anyway.
See: https://extensions.typo3.org/extension/cc_ipauthWhen there is no composer name, the button to packagist is shown anyway.
See: https://extensions.typo3.org/extension/cc_ipauth_Ready for sprintAlexander NostadtAlexander Nostadthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/446Make "Install extension via composer command" the default in section Installa...2020-04-21T12:51:35ZAlexander NostadtMake "Install extension via composer command" the default in section InstallationAs of now "Install extension via ZIP file" is shown first. However, composer usage is encouraged and therefore this should be the first description people see.
Acceptance Criteria:
* [x] "Install extension via composer command" is show...As of now "Install extension via ZIP file" is shown first. However, composer usage is encouraged and therefore this should be the first description people see.
Acceptance Criteria:
* [x] "Install extension via composer command" is shown first in the Installation section_Ready for sprintAlexander NostadtAlexander Nostadthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/445ViewHelper or Partial / Section for the Buttons on the detail page2020-04-21T12:53:43ZAlexander NostadtViewHelper or Partial / Section for the Buttons on the detail pageEach button on the detail page has a lot of things in common.
* render if exists only
* rel=nofollow and target=_blank
* an icon
* a text
A ViewHelper, partial or section with following arguments would increase the readability in my op...Each button on the detail page has a lot of things in common.
* render if exists only
* rel=nofollow and target=_blank
* an icon
* a text
A ViewHelper, partial or section with following arguments would increase the readability in my opinion:
* label
* icon
* uri
**Example**
*Before*
```
<f:if condition="{extension.forgeLink}">
<f:link.external class="btn btn-secondary btn-block" rel="nofollow" uri="{extension.forgeLink}" target="_blank">
<i class="fa fa-hand-o-right"></i> Found an Issue?
</f:link.external>
</f:if>
```
*After*
```
<t3ext:externalLink label="Found an Issue?" uri="{extension.forgeLink}" icon="fa-hand-o-right"/>
```
**Acceptance Criteria:**
* [x] proper partial
* [x] current link buttons on the detail page are rendered using the new partial_Ready for sprintAlexander NostadtAlexander Nostadthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/441[EPIC] Activate TER release by git tagging2021-10-25T21:32:20ZThomas Löffler[EPIC] Activate TER release by git tagging# Requirements for extension owner
* The extension owner **must** have added a link to the public repository in the TER settings for the extension
* The extension owner **must** have added a web hook to the repository (GitHub, GitLab, B...# Requirements for extension owner
* The extension owner **must** have added a link to the public repository in the TER settings for the extension
* The extension owner **must** have added a web hook to the repository (GitHub, GitLab, Bitbucket, etc.)
* The extension **must** contain a valid composer.json
* The extension **must** require TYPO3 in the composer.json
* The composer.json **must** contain a title, a description and the extension key
## No ext_emconf.php anymore?
What important information is included in ext_emconf.php currently?
* `title` => `title` in composer.json
* `description` => `description` in composer.json
* `author`, `author_company` and `author_email` => `authors` section in composer.json
* `version` => Git tag
* `category` => Needed? Can be provided by description or keywords. Often an extension touches many categories.
* `state` => Needed?
* `uploadfolder` => Needed?
* `clearCacheOnLoad` => Should always be true, shouldn't it?
* `constraints` => can be handled by the `require` section in composer.json
## The check for a new release
1. TER gets information about new release by the web hook
1. TER fetches the information and creates records (for search and for populating data of e.g. documentation)
1. TER updates extensions.xml file
## Installation in TYPO3 has no ext_emconf.php
* When downloaded, the Extension Repository will add an ext_emconf.php generated by the information provided by composer.json_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/438Add link to packagist.org/my/ext/ on Detail page2020-04-09T19:49:37ZAlexander NostadtAdd link to packagist.org/my/ext/ on Detail pageSince not every author keeps his TER up to date, a link to the detail page on packagist.org would come in handy. As we have the package name already, it shouldn't be very time consuming to add such a button.Since not every author keeps his TER up to date, a link to the detail page on packagist.org would come in handy. As we have the package name already, it shouldn't be very time consuming to add such a button._Ready for sprintAlexander NostadtAlexander Nostadthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/416Write new Command for creating extensions.xml file2020-10-13T10:12:00ZThomas LöfflerWrite new Command for creating extensions.xml file### Describe the task
The current task has a high memory usage.
### What does success look like, and how can we measure that?
Less memory usage when creating a XML file
**Acceptence Criterias**
* [x] File `extensions.xml` must look ...### Describe the task
The current task has a high memory usage.
### What does success look like, and how can we measure that?
Less memory usage when creating a XML file
**Acceptence Criterias**
* [x] File `extensions.xml` must look like the current one
* [ ] Create new scheduler task
### Links / references_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/410Add to documentation for extension upload to be sure there is no concatenatio...2019-11-05T20:16:01ZThomas LöfflerAdd to documentation for extension upload to be sure there is no concatenation in the ext_emconf.php strings_Ready for sprintThomas LöfflerThomas Löfflerhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/409Introduction Package is marked as "outdated"2019-09-30T13:25:42ZBenni MackIntroduction Package is marked as "outdated"### Summary
https://extensions.typo3.org/extension/introduction/ shows that intro package is not compatible with any LTS because 4.1.0 is only compatible with TYPO3 v10+.
### Steps to reproduce
Click on this page https://extensions.t...### Summary
https://extensions.typo3.org/extension/introduction/ shows that intro package is not compatible with any LTS because 4.1.0 is only compatible with TYPO3 v10+.
### Steps to reproduce
Click on this page https://extensions.typo3.org/extension/introduction/
### Example URL
https://extensions.typo3.org/extension/introduction/
### What is the current *bug* behavior?
A message is shown
### What is the expected *correct* behavior?
I expect that IF there is ANY version of this extension that is compatible with our currently supported versions that this is message is _NOT_ shown!
[Screen_Shot_2019-09-27_at_15.06.58](/uploads/f5fa4716a8e093994535a11a7a10f7d1/Screen_Shot_2019-09-27_at_15.06.58.png)_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/406"Works with TYPO3" for v10 compatible extensions2019-10-01T07:44:35ZSebastian Fischer"Works with TYPO3" for v10 compatible extensionsIt would be great so have a filter for v10 compatible extensions and output of "v10 compatible" in the extension page, so developers that to there best to be prepare their extensions with 10.x are a little rewarded for their efford.It would be great so have a filter for v10 compatible extensions and output of "v10 compatible" in the extension page, so developers that to there best to be prepare their extensions with 10.x are a little rewarded for their efford._Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/405Link to documentation is different in detail / search result view on extensio...2019-11-26T13:00:55ZspetersLink to documentation is different in detail / search result view on extensions.typo3.org### Examples
1. Detail view for extension [localizer](https://extensions.typo3.org/extension/localizer/) has correct link to documentation, but the [search result view](https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=localizer) h...### Examples
1. Detail view for extension [localizer](https://extensions.typo3.org/extension/localizer/) has correct link to documentation, but the [search result view](https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=localizer) has no link to documentation for this extension.
2. Detail view for extension [news](https://extensions.typo3.org/extension/news/) has correct link to documentation, but [search result view](https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=news) has link to (outdated) legacy documentation (in this case this gets redirected).
Conclusion: It seems the detail view uses new URL from documentation server, while the list view does not.
### Clarification
* legacy URL is `https://docs.typo3.org/typo3cms/extensions/<extension>/<version>`
* new URL is `https://docs.typo3.org/p/<vendor>/<package>/...`
### Steps to reproduce
1. To reproduce example 1: select an extension with no legacy URL in https://intercept.typo3.com/assets/docs/manuals.json. To reproduce example 2, select an extension with legacy URL + new URL
2. Search for the extension using the search box on https://extensions.typo3.org
3. Compare link to "Extension Manual" from search result view and detail view
### Example URL
https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=localizer
### What is the current *bug* behavior?
Link to "Extension Manual" different for search result view + detail view.
### What is the expected *correct* behavior?
(What you should see instead)
**Acceptence Criterias**
* [x] Link to "Extension Manual" is the same in list + detail view_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/404Add documentation link to extension information2019-10-16T08:12:47ZGeorg RingerAdd documentation link to extension informationFinal goal: Render the link to docs in the extension manager's list. To achieve this, first the `extension.xml` must be enhanced with a new field "documentation" which holds the URL just as e.g. in https://extensions.typo3.org/extension/...Final goal: Render the link to docs in the extension manager's list. To achieve this, first the `extension.xml` must be enhanced with a new field "documentation" which holds the URL just as e.g. in https://extensions.typo3.org/extension/news/
IMO this must be done on extensions.typo3.org as there already the fallback chain of Documentation/ > Readme.rst > Readme.md > external link > is known and rendered.
Once this is achieved we can improve the core
**AC**
* Add a new property documentation_link to `extension.xml` which points to external documentation link or to the detail page of the extension_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/393Opening user protected page should redirect to login form2019-11-28T15:54:05ZOliver HaderOpening user protected page should redirect to login form### Summary
Opening user protected page without being logged in should redirect to login form.
see https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Config/Index.html#typolinklinkaccessrestrictedpages
### Steps to...### Summary
Opening user protected page without being logged in should redirect to login form.
see https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Config/Index.html#typolinklinkaccessrestrictedpages
### Steps to reproduce
* not logged in
* open https://extensions.typo3.org/my-extensions/
* see "Oops, you should not see that page!" (actually it's not clear this is a 403 page)
### Example URL
https://extensions.typo3.org/my-extensions/
### What is the current *bug* behavior?
* showing confusing "error message"
* not showing any login form to easily continue
### What is the expected *correct* behavior?
* (! "What is the current *bug* behavior?")
* *NOT* showing confusing "error message"
* showing proper login form to easily continue
**Acceptence Criterias**
* [x] kick confusing error message (especially if they can be avoided)
* [x] use `typolinkLinkAccessRestrictedPages`
### Relevant logs and/or screenshots
![Screenshot_2019-06-11_at_08.00.44](/uploads/3ce8b8b419087cf65213d61ca7a0942e/Screenshot_2019-06-11_at_08.00.44.png)
### Possible fixes
https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Config/Index.html#typolinklinkaccessrestrictedpages_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/390Releasing ext key triggers error2019-10-04T09:07:12ZGeorg RingerReleasing ext key triggers errorIf releasing an ext key, a page not found is triggered.
url: https://extensions.typo3.org/my-extensions/?tx_terfe2_pi1%5Bextension%5D=17701&tx_terfe2_pi1%5Baction%5D=delete&tx_terfe2_pi1%5Bcontroller%5D=Registerkey&cHash=00b2239ddfc3cf0...If releasing an ext key, a page not found is triggered.
url: https://extensions.typo3.org/my-extensions/?tx_terfe2_pi1%5Bextension%5D=17701&tx_terfe2_pi1%5Baction%5D=delete&tx_terfe2_pi1%5Bcontroller%5D=Registerkey&cHash=00b2239ddfc3cf0cf497628337953dda_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/354When editing extension keys, new settings can't be saved2020-08-10T14:45:54ZJochen WeilandWhen editing extension keys, new settings can't be saved## What was the cause of the issue?
Trying to add a repository link to an existing extension (same with adding keywords)
## Steps to reproduce
Extension key -> edit -> enter link to repo -> save
## Output of error log
An error occurred...## What was the cause of the issue?
Trying to add a repository link to an existing extension (same with adding keywords)
## Steps to reproduce
Extension key -> edit -> enter link to repo -> save
## Output of error log
An error occurred while trying to call T3o\TerFe2\Controller\ExtensionController->updateAction()
The given subject was empty.!
## Add some screenshots
[2018-05-11_18-15-28](/uploads/13fb07637bbc1679c9bb070805f4cd4e/2018-05-11_18-15-28.png)_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/292After login expired a reload of page "My Extensions" shows "Page not found"2019-11-28T15:53:35ZgilbertsoftAfter login expired a reload of page "My Extensions" shows "Page not found"A information that the login has exipred or a redirect to the login would be nicer.A information that the login has exipred or a redirect to the login would be nicer._Ready for sprintTomas Norre MikkelsenTomas Norre Mikkelsenhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/245Automatic way to update extensions2020-12-23T16:51:28ZStefan GalinskiAutomatic way to update extensions## What kind of feature do you want?
An automatic way to upload/release new extension versions. Ideally in a way that you just need to adapt a small script and add it as a post processor for new tag releases in Github/Gitlab.
## What a...## What kind of feature do you want?
An automatic way to upload/release new extension versions. Ideally in a way that you just need to adapt a small script and add it as a post processor for new tag releases in Github/Gitlab.
## What are the benefits?
No missing uploads in TER anymore, because of simple laziness.
## technical notes
* Add Github / Gitlab Konfiguration to extension: Secret for incoming Webhook
* Add UI control, to activate webhook
* Add Webhook listener to TER:
* Process incoming Webhook for tags
* create ter release with tag description
* allow to update release description with github
* allow to remove release, if tag is deleted._Ready for sprint