extensions.typo3.org issueshttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues2022-04-04T17:31:04Zhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/321Increase max character length for extension key2022-04-04T17:31:04ZDan Kleine (geb. Dan Untenzu)Increase max character length for extension key## What kind of feature do you want?
*Register extension key*
> An extension key must have minimum 3, maximum 30 characters (not counting underscores).
Where does the maximum value origin, and is it possible to increase it? Since exte...## What kind of feature do you want?
*Register extension key*
> An extension key must have minimum 3, maximum 30 characters (not counting underscores).
Where does the maximum value origin, and is it possible to increase it? Since extension developers are urged to use speaking variables and not come up with odd abbreviations the 30 character limit is obstructive.
## What are the benefits?
* Speaking extension names
* Less odd abbreviations just to fit the character max size
* Same names on Github and Packagist possible (instead of shortcuts to fit the TER naming rules)
* Eason forks/patch extensions (»acme_extension_with_long_name« → »acme_extension_with_long_name_patched« instead of »acme_extension_with_l_patched«)
## Add some use case
Github allows repository names with a maximum of 100 characters. I often need more than 30 characters and would like to use the same key as GitHub repo name, TYPO3 extension key, Composer package name etc._Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/320Extension key registration - rules for underscores not applied2022-04-04T17:31:01ZDan Kleine (geb. Dan Untenzu)Extension key registration - rules for underscores not applied## What was the cause of the issue?
*Register extension key*
> An extension key must have minimum 3, maximum 30 characters (not counting underscores).
This rules implies, that any number of underscores is allowed.
However the form a...## What was the cause of the issue?
*Register extension key*
> An extension key must have minimum 3, maximum 30 characters (not counting underscores).
This rules implies, that any number of underscores is allowed.
However the form actually does count underscores.
## Steps to reproduce
Registering `test_______________________test` (31 characters) is not possible (but should), registering `test______________________test` (30 characters) is possible. Registering `aa` is not possible, registering `a_a` is possible (but should'nt).
long
![Bildschirmfoto_vom_2018-02-22_15-04-45](/uploads/7e7898c46d1a60988753189a2eb21083/Bildschirmfoto_vom_2018-02-22_15-04-45.png)
short
![Bildschirmfoto_vom_2018-02-22_15-11-19](/uploads/af2abadb85c2b4d1e6b0fa71f754ee64/Bildschirmfoto_vom_2018-02-22_15-11-19.png)
## Possible solution
* Either remove the “(not counting underscores)” rule
* …or fix the validation to follow the given rule_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/303Expired extension is not deleted properly2022-04-04T16:13:20ZThomas LöfflerExpired extension is not deleted properly## What was the cause of the issue?
Extension key was accidently expired and removed.
Trying to get the extension key again was not successful.
## Steps to reproduce
1. Let an extension expire and delete
1. Try to get the extension ke...## What was the cause of the issue?
Extension key was accidently expired and removed.
Trying to get the extension key again was not successful.
## Steps to reproduce
1. Let an extension expire and delete
1. Try to get the extension key again
## Output of error log
An extension with this key already exists.
## Add some screenshotsBacklogThomas LöfflerThomas Löfflerhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/302Fix invalid/suspicious extension keys in extensions.xml.gz2022-04-04T16:14:48ZMichael SchamsFix invalid/suspicious extension keys in extensions.xml.gzAssuming, a **valid** extension key must not contain upper-case letters, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that g...Assuming, a **valid** extension key must not contain upper-case letters, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that generates the XML file.
* invalid extension key: `flvStreamPlayer`
* invalid extension key: `meta_CAS`
* invalid extension key: `AjaxChat`
* invalid extension key: `tom_FMENU`
* invalid extension key: `dmc_highPerformance`
* invalid extension key: `Oblady_questionnaire`
* invalid extension key: `SBuniplug`
* invalid extension key: `SBumfrage`
* invalid extension key: `SBbanner`
* invalid extension key: `theFormEval`
* invalid extension key: `theFormConcept`
* invalid extension key: `lilURL`
* invalid extension key: `RealURL`
* invalid extension key: `Vertretungsplan`BacklogMichael SchamsMichael Schamshttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/301Fix invalid/suspicious version strings in extensions.xml.gz2022-04-04T16:14:48ZMichael SchamsFix invalid/suspicious version strings in extensions.xml.gzAssuming, the format of a **valid** version string is `x.y.z`, where each element is a numeric value between `0` and `999`, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying da...Assuming, the format of a **valid** version string is `x.y.z`, where each element is a numeric value between `0` and `999`, file `extensions.xml.gz` contains some invalid/suspicious entries. I assume the issues exist in the underlying data storage rather than in the creation logic that generates the XML file.
* `EXT:dam` contains an invalid version string: "1.3.2-dev"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.2"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.2.1"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.0"
* `EXT:bootstrap_package` contains an invalid version string: "6.2.3.1"
* `EXT:tweet_this` contains an empty version string.
* `EXT:webdav` contains an invalid version string: "2.02"
* `EXT:generic_gallery` contains an invalid version string: "1.0.1-dev"
* `EXT:ke_search` contains an invalid version string: "1.7.0DEV"
* `EXT:libconnect` contains an invalid version string: "EZB: jetzt"
* `EXT:go_maps_ext` contains an invalid version string: "1.5"
* `EXT:metadata` contains an invalid version string: "2.1.0-dev"
* `EXT:groupdocs_viewer` contains an invalid version string: "1.0"
* `EXT:flat` contains an invalid version string: "6.2.0.1"
* `EXT:moc_message_queue` contains an invalid version string: "1.0"
* `EXT:kss_tmpl_gumby` contains an invalid version string: "2.5"
* `EXT:askom` contains an invalid version string: "1.0"
* `EXT:gsexy` contains an invalid version string: "2.0.2 - v.1"
* `EXT:gsexy` contains an invalid version string: "2.0.3 - v.1"
* `EXT:gsexy` contains an invalid version string: "2.0.4 - v.1"
* `EXT:beuserlistexport` contains an invalid version string: "0.0.2.2"
* `EXT:trb_ce_div` contains an invalid version string: "1.0"
* `EXT:trb_ce_icon` contains an invalid version string: "1.0"
* `EXT:trb_ce_map` contains an invalid version string: "1.0"
* `EXT:trb_ce_text` contains an invalid version string: "1.0"
* `EXT:trb_ce_textpic` contains an invalid version string: "1.0"
* `EXT:trb_pi_news` contains an invalid version string: "1.0"
* `EXT:trb_pi_team` contains an invalid version string: "1.0"
* `EXT:trb_pi_portfolio` contains an invalid version string: "1.0"
* `EXT:context_hints` contains an invalid version string: "1.2.0-dev"
* `EXT:jquery_smartbanner` contains an invalid version string: "1.0"
* `EXT:fb_reports` contains an invalid version string: "0.7.0-dev"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.1"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.2"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.3"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.4"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.5"
* `EXT:layersliderlight` contains an invalid version string: "5.3.3.6"
* `EXT:groupdocs_annotation_for_net` contains an invalid version string: "1.0"
* `EXT:speciality_distribution` contains an invalid version string: "1.1.0-dev"
* `EXT:wiris_plugin` contains an invalid version string: "3.53.3-1157"
* `EXT:secsign` contains an invalid version string: "1.1"BacklogThomas LöfflerThomas Löfflerhttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/300Trigger notification request to t3extensions.org2021-08-19T13:24:04ZMichael SchamsTrigger notification request to t3extensions.org_(as discussed with Thomas Löffler and Mathias Schreiber on Slack)_
# Real-time Notification of Extension Updates
## Feature Overview
This new feature triggers an HTTPS request to a specific API endpoint at [t3extensions.org](https://..._(as discussed with Thomas Löffler and Mathias Schreiber on Slack)_
# Real-time Notification of Extension Updates
## Feature Overview
This new feature triggers an HTTPS request to a specific API endpoint at [t3extensions.org](https://t3extensions.org), whenever a new extension version gets uploaded or a new extension published at the TER.
## Benefits
Currently, [t3extensions.org](https://t3extensions.org) features a Slash command for [typo3.slack.com](https://typo3.slack.com) to allow users to retrieve details of an extension (see typical use case below). The underlying NoSQL database gets updated a few times a day only, so the extension details are sometimes outdated.
By implementing the feature described below, we aim for a real-time update of the data, so Slack would always show accurate details of extensions.
## Use Case
In any channel (public or private) or direct message communication between users on [typo3.slack.com](https://typo3.slack.com), command `/extension <extension_key>` returns details about the extension with extension key equals `<extension_key>`. This has been implemented and is available and actually used already.
For example:
```
/extension powermail
```
Details such extension title, key, author, latest version, last update date, description, etc. is posted into the Slack channel, assuming the extension exists.
## Requirements
As soon as a new TYPO3 extension version gets uploaded to the TER, a **POST** request should be triggered to a specific API endpoint. The endpoint URL should be configurable. The payload (data in the body of the request) is a JSON object with the following keys/values.
```
{
"token": "<token>",
"source": "extensions.typo3.org",
"data": {
"extension_key": "<extension_key>",
"version": "<version>",
"integer_version": "<integer_version>",
"state": "<state>",
"title": "<title>",
"description": "<description>",
"author_name": "<author_name>",
"last_updated": "<timestamp>"
}
}
```
| Key: | Description: | Example: | Notes: |
| :------------------------- | :-------------------------------------- | :--------------------- | :----: |
| `token` | Access token | `AEEK4K2a8OgSRcXz` | (1) |
| `source` | Source identifier | `extensions.typo3.org` | (2) |
| `data` | _JSON object, see below_ | | |
| `data` → `extension_key` | Extension key | `powermail` | |
| `data` → `version` | Extension version (format: X.Y.Z) | `1.2.3` | |
| `data` → `integer_version` | Extension integer version | `1002003` | |
| `data` → `state` | Extension state (arbitrary text) | `beta` | |
| `data` → `title` | Extension title (arbitrary text) | `Powermail` | |
| `data` → `description` | Extension description (arbitrary text) | `Lorem ipsum...` | |
| `data` → `author_name` | Extension author (arbitrary text) | `Brad Pitt` | |
| `data` → `last_updated` | UNIX timestamp of last update in UTC | `1514524068` | |
### Notes
(1) The _access token_ should be configurable. The token must be classified as sensitive information and is therefore not included in this publicly accessible feature request. Please contact me on Slack: https://typo3.slack.com/messages/D1KECK1EF
(2) The _source_ identifies, which service or server initiates the request. Useful for debugging purposes at [t3extensions.org](https://t3extensions.org). In case the TER runs in a distributed server setup, the host name can be used as the _source_. Otherwise, `extensions.typo3.org` could be a good value.
### API Endpoint URLs
#### Method: **Update Extension**
A `POST` request to `https://slack.t3extensions.org/v1/UpdateExtension` updates the details of a specific extension. This request requires a valid _token_ and further data (see details above) as the payload.
The API method automatically detects, if the details of an existing extension need to be updated or if the request is for a new extension (first version of an extension). The `<extension_key>` is used as the identifier.
#### Method: **Show Test Table**
The `UpdateExtension` API method uses a **test database table** during development. To retrieve the data of this test table, a `GET` request to `https://slack.t3extensions.org/v1/ShowTestTable` can be executed.
## API Tests
### Update Extension Details on Command Line
```
# DATA='{"token": "secret-token", "source": "testing", "data": {"extension_key": "myextension", "version": "1.2.3", "integer_version": "1002003", "state": "alpha", "title": "My Test Extension", "description": "This is just a test entry for t3extensions.org", "author_name": "Johnny Depp", "last_updated": "1512270379"}}'
# curl -s -X POST --data "${DATA}" -H "Content-Type: application/json" https://slack.t3extensions.org/v1/UpdateExtension
```
### Retrieve Data from Test Table on Command Line
```
# curl -s https://slack.t3extensions.org/v1/ShowTestTable
```
The content of the test table can also be access in a standard browser of course: https://slack.t3extensions.org/v1/ShowTestTable
## Error Handling
If the data update fails, the API method returns a JSON object with an error description. For example:
```
{
"result": "failed",
"request_id": "4083432a-ec5c-11e7-bed9-f33584834239",
"response": [
{
"message": "Security token mismatch",
"code": 102
}
]
}
```
## Restrictions
The code at [t3extensions.org](https://t3extensions.org) uses a cloud-based, serverless microservice at [Amazon Web Services](https://aws.amazon.com).
In order to control resources and costs, the number of read/write operations to the NoSQL database and the CPU and memory consumption of the API methods are limited intentionally. Too many requests within a certain time frame may result in an error message.
Version 1 of API method `UpdateExtension` currently supports **one** update request only. As a logical consequence, each extension update requires a notification request to the API method. The update of multiple extensions in one request is not supported at this point in time._Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/296In Admin->Searchresult the header is missing2022-08-12T11:45:33ZStephan GroßberndtIn Admin->Searchresult the header is missingWhen searching for an extension key in "Managing my extensions" -> "Admin" on the result page the header "Managing my extensions" and the tabs to switch between "Managing extension keys", "Register extension key", "Transfer extension key...When searching for an extension key in "Managing my extensions" -> "Admin" on the result page the header "Managing my extensions" and the tabs to switch between "Managing extension keys", "Register extension key", "Transfer extension key", "Admin" are missing.
![Screenshot_2017-12-11_19.15.33](/uploads/67cbdca32474d95133ff8af0383d8aac/Screenshot_2017-12-11_19.15.33.png)_Ready for sprinthttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/260Add related security bulletin when an extension version is marked as insecure2021-02-15T18:22:28ZJean TraulléAdd related security bulletin when an extension version is marked as insecure## What do you suggest?
When an extension version is marked as insecure, the background of the extension version appear red in the TER website, the download link is removed and the extension version does not appear anymore when searchin...## What do you suggest?
When an extension version is marked as insecure, the background of the extension version appear red in the TER website, the download link is removed and the extension version does not appear anymore when searching in TYPO3 TER BE Module.
I think it could be relevant ta add a link to the particular **[Security Bulletin](https://typo3.org/teams/security/security-bulletins/)** which led to flag that extension version as insecure (to get more information)
Maybe by replacing
| Before | After |
| --- | --- |
| *ATTENTION*: Use at your own risk ! | **ATTENTION** : This extension version has been flagged as insecure by the TYPO3 Security Team, please checkout [**TYPO3-PSA-2017-001**](https://typo3.org/teams/security/security-bulletins/psa/typo3-psa-2017-001/) security bulletin for more information. |
## Why?
It is always interesting to know **why** an extension version has been marked as insecure in my opinon.
## Add an use case
For example, extension [realurl_clearcache2](https://extensions.typo3.org/extension/realurl_clearcache2/) versions has been marked as insecure because of [TYPO3-PSA-2017-001](https://typo3.org/teams/security/security-bulletins/psa/typo3-psa-2017-001/) security bulletin. A link to the security bulletin should be mentionned.
PS : when all versions available are flagged as insecure, **Installation** section shouldn't be hidden (as it allow to download last version) ?
PS2 : for this particular extension ([realurl_clearcache2](https://extensions.typo3.org/extension/realurl_clearcache2/)), why the proposed version in **Installation** section is 1.0.1 and not 2.0.0 ? Shouldn't be the last version proposed ?Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/258Change database structure to save download numbers with the point of time2022-08-12T11:44:46ZThomas LöfflerChange database structure to save download numbers with the point of timeCurrently the download numbers are stored in the version and we have no possibility to look when the download happened.Currently the download numbers are stored in the version and we have no possibility to look when the download happened.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/257Extension Installation Workflow2022-04-04T17:34:23ZThomas LöfflerExtension Installation WorkflowSuggestion:
* Make a dropdown instead of a download button
* Rename it to `Install via`
* In the dropdown there are these options: `ZIP file`, `T3X file` and `composer`
* When clicking one of the option there will open a modal with the ...Suggestion:
* Make a dropdown instead of a download button
* Rename it to `Install via`
* In the dropdown there are these options: `ZIP file`, `T3X file` and `composer`
* When clicking one of the option there will open a modal with the installation How-Tos (currently as collapsables)
* In the background the file will be downloaded (if ZIP or T3X)
* When clicking on `composer` the `composer require <package>` command will be displayed
* In the version history the composer command will be appended with the versionBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/251Provide examples how to create code inspections and better code quality2022-04-04T17:34:22ZTobias GülzowProvide examples how to create code inspections and better code qualityHi everyone.
## What kind of feature do you want?
As an extension developer, I want to make sure that my extension does not get negative badges assigned from code inspection.
I also want to make sure that positive badges get assigned.
#...Hi everyone.
## What kind of feature do you want?
As an extension developer, I want to make sure that my extension does not get negative badges assigned from code inspection.
I also want to make sure that positive badges get assigned.
## What are the benefits?
The code quality will increase significantly, if developers can check their code, before they upload their extension.
## Add some use case
1.) Write a lot of code for your extension.
2.) Do a lot of testing.
3.) Let code inspection analyse the code.
4.) Fix all findings that can be fixed.
5.) Upload another release.
TobiBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/240Integrate Sonarcube in TER search2022-04-04T17:34:23ZPeter KraumeIntegrate Sonarcube in TER searchMarketing Factory provides a Sonarcube installation which tests all extensions uploaded to TER:
https://ter-sonarqube.marketing-factory.de/projects
In a first step it would be very helpful to add a link "Code Analysis" to the sidebar in...Marketing Factory provides a Sonarcube installation which tests all extensions uploaded to TER:
https://ter-sonarqube.marketing-factory.de/projects
In a first step it would be very helpful to add a link "Code Analysis" to the sidebar in the detail view which leads to the single view of sonarcube for the specific extension.
For the long term future it would be awesome if we can provide our own Sonarcube installation with an official rule set. Maybe it's even possible to directly integrate the rating of an extension within the TER detail view.
This feature would help people who evaluate different extensions to make an easier decision which extension to take.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/238Fix some lapses in the webserver/HTTPS configuration2021-02-15T18:22:32ZPhilipp GampeFix some lapses in the webserver/HTTPS configuration## What do you suggest?
Get a perfect track record in security checks
https://www.hardenize.com/report/extensions.typo3.org/1505460297#summary
## Why?
Because ;)
## Add an use case
Have a secure web## What do you suggest?
Get a perfect track record in security checks
https://www.hardenize.com/report/extensions.typo3.org/1505460297#summary
## Why?
Because ;)
## Add an use case
Have a secure webBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/237Create test suites2021-02-15T18:22:33ZThomas LöfflerCreate test suitesWe need to run tests before merging.
1. Acceptance tests
1. Functional tests
1. Unit tests
Examples: https://gitlab.com/derhansen/commentsWe need to run tests before merging.
1. Acceptance tests
1. Functional tests
1. Unit tests
Examples: https://gitlab.com/derhansen/commentsBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/203Display number of downloaded in list page2021-02-15T18:22:54ZJainish SenjaliyaDisplay number of downloaded in list pageDisplay number of download extension in list page. SO user can identify easily which extension are mostly usedDisplay number of download extension in list page. SO user can identify easily which extension are mostly usedBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/202Show alternatives to outdated extensions2021-02-15T18:22:53ZThomas MayerShow alternatives to outdated extensions## What kind of feature do you want?
In the detail view, alternatives to an outdated extension could be shown up.
For instance, I'll leave open how this can be done.
One way to do this would be to use the tags and to determine a notion...## What kind of feature do you want?
In the detail view, alternatives to an outdated extension could be shown up.
For instance, I'll leave open how this can be done.
One way to do this would be to use the tags and to determine a notion of similarity towards other extensions.
Another way would be to let maintainers explicitly specify which extensions can be migrated to their extension (similar to the specification of incompatibility). The latter should then also take versions into account (from_version/to_version) which maybe overcomplicates this approach.
Another way to do this is to use frequent pattern mining based upon the sequence of page visits, thereby answering which (alternative) extension is likely to be downloaded after visiting an outdated extension.
An easy catch would be to just point to the TER search page, thereby querying for the tags of the outdated extension.
## What are the benefits?
- Show up that there is an alternative.
- Trick users into supported extensions which receive security updates.
## Add some use case
E. g. the outdated extension [tq_seo](https://extensions.typo3.org/extension/tq_seo/) can be seemlessley upgraded to [metaseo](https://extensions.typo3.org/extension/metaseo/) via a documented [migration path](https://docs.typo3.org/typo3cms/extensions/metaseo/AdministratorManual/Index.html#migration-from-extension-tq-seo).Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/198Why use big boxes when a list does a much better job?2021-02-15T18:22:52ZChristine RocheltWhy use big boxes when a list does a much better job?First show an overview, then detail on demand.
The new repository wastes a lot of space. Why use big boxes when a list does a much better job?
Please show relevant information like number of downloads, last update...
A "list by" funct...First show an overview, then detail on demand.
The new repository wastes a lot of space. Why use big boxes when a list does a much better job?
Please show relevant information like number of downloads, last update...
A "list by" function would also be helpful: List by
- Number of downloads
- TYPO3 Version
- Relevance
Thank you for your work.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/196Layout suggestions2021-02-15T18:22:47ZpixeldesuLayout suggestionsThe entire layout and sizing of the website feels way too large. _(on screens that are not high resolution/retina)_
It fills the entire screen width for certain device widths (`.container-fluid`) and the headings chosen for the card-tit...The entire layout and sizing of the website feels way too large. _(on screens that are not high resolution/retina)_
It fills the entire screen width for certain device widths (`.container-fluid`) and the headings chosen for the card-titles are way too large as well, wasting a lot of screen space.
Here an example, for a _side-by-side_ view. This first screenshot is the current website as-is.
![Selection_262](/uploads/232478dbb288a2749ea0d86dadec084a/Selection_262.png)
And this is a locally modified version (with Chrome DevTools) just to narrow down a lot of things.
![Selection_263](/uploads/dd907cf63ab30d6e6c3c0b417a812cbf/Selection_263.png)
_(both screenshots capture exactly the same viewport, just from different tabs, no tricking with zoom-levels here :smile: )_
**What I changed:**
* Switched out the `.container-fluid` that a huge part of the site used, replaced it with just `.container` instead.
* Replaced all card headings with `h3` instead of `h2` and all subtitles with `h5` instead of `h4`
* _I also adjusted the padding of the TYPO3 logo, just to properly line up the navigation with the container_
These are not too significant changes to the site layout, but they already make a huge difference compared to what there was before.Backloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/195delete extension version from TER2021-02-15T18:22:48ZFrank Gerardsdelete extension version from TER## What kind of feature do you want?
make it possible to delete a specific version of an extension from TER (again)
## What are the benefits?
prevent users from downloading faulty code
## Add some use case
realurl_clearcache2 was up...## What kind of feature do you want?
make it possible to delete a specific version of an extension from TER (again)
## What are the benefits?
prevent users from downloading faulty code
## Add some use case
realurl_clearcache2 was uploaded with v2.0.0 (wrong), then changed to 1.0.0 - now, 2.0.0 version cannot be deletedBackloghttps://git.typo3.org/services/t3o-sites/extensions.typo3.org/ter/-/issues/190list view: one record for row2021-02-15T18:22:48ZAlex Tuverilist view: one record for rowhi good work.
On my opion the list view of tha main page, where the latest extension are listed, should be simplified, with only one record for row, like in the previous repository.
This should be made with a new LINK (column or row disp...hi good work.
On my opion the list view of tha main page, where the latest extension are listed, should be simplified, with only one record for row, like in the previous repository.
This should be made with a new LINK (column or row display).
thank you very much for your work.Backlog