[TYPO3-ect] TER clean up actions

Jigal van Hemert jigal at xs4all.nl
Sat Feb 18 12:31:34 CET 2012


TER Cleanup

The text below will be put in the ECT wiki too. It outlines the steps we 
need to take, technical considerations, time frame, etc.

Steps
1. Communication
2. Modify TER_fe search
3. Modify EM
4. Add Reports item
5. Periodically mark extensions in TER as outdated
6. Support in third party extensions

1 Communication

1.1 Announcements

  * news, buzz
  * mailing lists

The TER cleanup will be announced in as many places as possible. The 
announcement will explain:

  * which extensions are affected
  * the impact of existing installations (after core update)
  * actions which extension authors need to take
  * actions which site owners can take
  * consequences for security issues

1.2 Mailing extension authors

  * extension key owners
  * authors in ext_emconf.php

Extension authors will be notified that their extensions will be marked 
as outdated after a grace period (6 months?). The notification will also 
tell what actions an extension author can take to prevent the extension 
from being marked as 'outdated'.

2 TER fe search

2.1 Exclude outdated extensions from standard search

Extensions which are marked as 'outdated' will be excluded from the 
results of TER search. As the new ter_fe plugin will most likely be used 
on the typo3.org website when the grace period has ended, these changes 
need to be included in the new plugin.

2.2 Extra search for outdated extensions

An extra search for 'outdated' extensions needs to be created or a 
search option needs to be added to include 'outdated' extensions in the 
search results. This will also be included in the new ter_fe extension.

3 Extension Manager

3.1 Status for outdated, installed extensions

Extensions which are marked as 'outdated' need to be marked accordingly 
in the Extension Manager. The UI design team will be asked to make a 
visual design for this. Patches for all supported branches need to be made.

3.2 Force TYPO3 dependency setting on upload

New versions of extensions need to have a dependency on TYPO3 for at 
least the lowest currently supported branch. When uploading an extension 
this dependency must be checked and missing or too low dependencies must 
be rejected. Existing EM version already send dependencies to TER and 
can handle error messages. This is a change in the TER server, but it 
requires knowledge in the TER server of the currently supported versions.

3.3 Hide outdated extensions in TER search

For this change there are two different situations:

  * existing installations which are not updated (yet)
  * new or updated installations

To hide outdated extensions in existing installations we could use the 
field reviewstate. They would then become 'removed as insecure'. See 
section on technical implications.
Installations of supported branches will have an updated EM which hides 
outdated extensions in search results.

4 Reports module

4.1 Reports module: List outdated extensions

Depending on the technical implementation the Reports module will also 
show which installed extensions are marked as 'outdated'. At the same 
time we can list extensions which have an upper limit in the TYPO3 
dependencies which is lower than the current version (this can happen 
after a core upgrade). This will help integrators to take appropriate 
actions during a test upgrade.

5 Periodically mark extensions in TER as outdated

5.1 Periodic task: extensions with max dependency < deprecated

Whenever a branch is declared EOL extensions with a upper limit in the 
dependency settings of this branch will be marked as 'outdated'. This 
can be implemented as a script which checks the entries in the TER 
database. Running this script must be added to the procedures for the 
Release Managers.

5.2 Periodic task: extensions without dependency which are older than x 
years

Because a lot of extensions do not have dependency settings yet the 
script of the first cleanup can be used periodically to mark old 
extensions as 'outdated'.

6 Support in third party extensions

Once the changes in TER/EM are known and the technical implementation is 
clear authors of known third party extensions which provide monitoring 
services will be notified of these technical changes.

Extensions which provide such a service are:

  1  caretaker
  2  nagios
  3  ...

7 Technical considerations

With the cleanup action and the changes we have to try to maintain as 
much backwards compatibility as possible. Solutions which hide 
'outdated' extensions in unmodified Extension Managers are preferred.

7.1 Using reviewstate setting

Currently the EM checks for reviewstate=-1 to detect insecure 
extensions. The Security Team already mentioned that 'outdated' 
extensions will not have their focus. In this light we could consider 
them as being insecure because they are outdated, unsupported and not 
maintained. Using these extensions will be the sole responsibility of 
the integrator.

7.2 Difference between 'insecure' and 'outdated'

For updated EM versions there should be a difference between 'outdated' 
and 'insecure' extensions. In the EM only extensions with a review state 
greater than or equal to zero are shown. Extensions with a review state 
of less than zero are marked as 'insecure'.
In this light the proposal is to use a review state of -2 (minus two) to 
indicate 'outdated' extensions.

7.3 Dependency check in TER server

The TER server needs to be aware of 'current' versions. There are 
already scripts such as one by Xavier Perseguers [1] which provide 
version information. A similar script (extended with oldest_supported) 
could be used by the TER server to check dependencies.
The Extension Manager already supports displaying error messages from 
the TER server, so this only requires changes in the TER server.

8 Next steps

1) check with Security Team, server team, new typo3.org team, Release 
Managers, UI/design team
2) enter tasks in forge and prioritize them

9 Time schedule

  * Announcements: a.s.a.p.
  * Mailing extension authors: a.s.a.p. after getting addresses, etc.
  * Marking extensions 'outdated': August 1st 2012; which means a grace 
period of five and a half months to add dependencies and upload a new 
version
  * Changes in extensions on TER server and EM: published before July 
1st (which means they must be included in core releases before this date)

[1] http://typo3.causal.ch/releases.php

-- 
Kind regards / met vriendelijke groet,

Jigal van Hemert.


More information about the TYPO3-team-extension-coordination mailing list