16. Konfiguration
public class MyTogglzConfig implements TogglzConfig {
public Class<? extends Feature> getFeatureClass() {
return MyFeatures.class;
}
public StateRepository getStateRepository() {
return new FileBasedStateRepository(
new File("/somewhere/features.properties"));
}
public UserProvider getUserProvider() {
return new ServletUserProvider();
}
}
17. Spring
@Component
public class MyTogglzConfig implements TogglzConfig {
@Autowired
private DataSource dataSource;
public Class<? extends Feature> getFeatureClass() {
return MyFeatures.class;
}
public StateRepository getStateRepository() {
return new JDBCStateRepository(dataSource);
}
public UserProvider getUserProvider() {
return new SpringSecurityUserProvider("ADMIN");
}
}
20. Und jetzt?
Wie aktiviere ich nun Features?
●
Direkt über die Datei / Datenbank
●
Togglz Admin Console
21. Togglz Admin Console
Was ist die Admin Console?
●
Integrierte Webanwendung
●
Erlaubt es Features zu aktivieren/deaktivieren
●
Verwendet Togglz UserProvider
Installation
●
JAR Archiv zur Applikation hinzufügen
●
Fertig!
http://localhost:8080/myapp/togglz
27. public class MyTogglzConfiguration implements TogglzConfig {
/* ..... */
@Override
public UserProvider getUserProvider() {
return new SeamSecurityUserProvider();
}
}
public class SeamSecurityAuthorizer {
@Secures @FeatureAdmin
public boolean isFeatureAdmin(Identity identity) {
// check role
}
}
28. Erweiterbarkeit
●
State Repositories
●
User Provider
●
Auffinden der Konfigurationklasse
●
Komplexe Deployment-Szenarien
●
Web-Frameworks?
29. Zusammenfassung
Togglz ...
●
unterstützt den Continuous Delivery Prozess.
●
ist einfach zu integrieren / verwenden.
●
integriert sich mit bekannten Frameworks.
●
ist beliebig erweiterbar.