== Extension Point : ''IEnvironmentSetupParticipant'' == ||'''Interface'''||''IEnvironmentSetupParticipant''||'''Since'''||TBD|| ||'''Module'''||''trac.env''||'''Source'''||[source:trunk/trac/env.py#L51 env.py]|| The ''IEnvironmentSetupParticipant'' is responsible for either creating a new environment or to upgrade (aka migrate) an existing environment to a newer version of the database. In addition to that, the implementation of the extension point interface might also migrate existing data in the database so that it will correspond to the newly installed changes to the existing database schema, or similar such use cases. The implementation will be called on either ''trac-admin initenv'' or, if an existing environment must be upgraded, on ''trac-admin upgrade''. == Purpose == TBD Provide detailed information on the purpose of the interface here. E.g. ''IAuthenticator'' is used by the main request dispatcher to associate the current request's session with a user, or, in case that no such user exists, with the anonymous user. The most basic implementation would search for a cookie in the request. Other, more elaborated implementations for example would provide single sign on for example by evaluating an existing request header, and so on. == Usage == Provide detailed usage information of the extension point and implementations thereof. E.g. when is a method of the implementation being called and so on. == Examples == Provide one or more example implementations of the interface. == Available Implementations == Provide references to available implementations of the interface, for example by linking to sources in trac trunk or on trac-hacks. You might also include short discussions on how they have been implemented.