mirror of https://github.com/nextcloud/server
Merge pull request #34072 from nextcloud/enh/noid/default-enabled-2
set defaultEnabled in shipped.json
This commit is contained in:
commit
d39f047af2
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Arthur Schiwon</author>
|
||||
<author>Vincent Petry</author>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<logging/>
|
||||
</types>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<types>
|
||||
<dav/>
|
||||
</types>
|
||||
<default_enable/>
|
||||
<category>integration</category>
|
||||
<category>social</category>
|
||||
<bugs>https://github.com/nextcloud/server/issues</bugs>
|
||||
|
|
|
@ -14,7 +14,6 @@ they like and change the background to their liking.]]></description>
|
|||
<licence>agpl</licence>
|
||||
<author>Julius Härtl</author>
|
||||
<namespace>Dashboard</namespace>
|
||||
<default_enable/>
|
||||
|
||||
<category>customization</category>
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>owncloud.org</author>
|
||||
<namespace>DAV</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
</types>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>Federation</namespace>
|
||||
<default_enable/>
|
||||
|
||||
<types>
|
||||
<authentication/>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Robin Appelman</author>
|
||||
<author>Vincent Petry</author>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
</types>
|
||||
|
|
|
@ -14,7 +14,6 @@ Turning the feature off removes shared files and folders on the server for all s
|
|||
<author>Michael Gapczynski</author>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>Files_Sharing</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
</types>
|
||||
|
|
|
@ -13,7 +13,6 @@ To prevent a user from running out of disk space, the Deleted files app will not
|
|||
<licence>agpl</licence>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>Files_Trashbin</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
<dav/>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<author>Frank Karlitschek</author>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>Files_Versions</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
<dav/>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>LookupServerConnector</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<authentication/>
|
||||
</types>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Lukas Reschke</author>
|
||||
<namespace>OAuth2</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<authentication/>
|
||||
</types>
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Tom Needham</author>
|
||||
<namespace>Provisioning_API</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<prevent_group_restriction/>
|
||||
</types>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Nextcloud</author>
|
||||
<namespace>Settings</namespace>
|
||||
<default_enable/>
|
||||
|
||||
<category>customization</category>
|
||||
<bugs>https://github.com/nextcloud/server/issues</bugs>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Bjoern Schiessle</author>
|
||||
<namespace>ShareByMail</namespace>
|
||||
<default_enable/>
|
||||
|
||||
<types>
|
||||
<filesystem/>
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
<author>Vincent Petry</author>
|
||||
<author>Joas Schilling</author>
|
||||
<namespace>SystemTags</namespace>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<logging/>
|
||||
</types>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Nextcloud</author>
|
||||
<namespace>Theming</namespace>
|
||||
<default_enable/>
|
||||
|
||||
<types>
|
||||
<logging/>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author>Lukas Reschke</author>
|
||||
<namespace>UpdateNotification</namespace>
|
||||
<default_enable/>
|
||||
<category>monitoring</category>
|
||||
<bugs>https://github.com/nextcloud/server/issues</bugs>
|
||||
<dependencies>
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author mail="oc.list@georgehrke.com" >Georg Ehrke</author>
|
||||
<namespace>UserStatus</namespace>
|
||||
<default_enable/>
|
||||
<category>social</category>
|
||||
<bugs>https://github.com/nextcloud/server</bugs>
|
||||
<navigations>
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
<licence>agpl</licence>
|
||||
<author mail="eneiluj@posteo.net">Julien Veyssier</author>
|
||||
<namespace>WeatherStatus</namespace>
|
||||
<default_enable/>
|
||||
<category>integration</category>
|
||||
<category>dashboard</category>
|
||||
<bugs>https://github.com/nextcloud/server</bugs>
|
||||
|
|
|
@ -47,6 +47,46 @@
|
|||
"weather_status",
|
||||
"workflowengine"
|
||||
],
|
||||
"defaultEnabled": [
|
||||
"activity",
|
||||
"circles",
|
||||
"comments",
|
||||
"contactsinteraction",
|
||||
"dashboard",
|
||||
"dav",
|
||||
"federation",
|
||||
"files",
|
||||
"files_pdfviewer",
|
||||
"files_rightclick",
|
||||
"files_sharing",
|
||||
"files_trashbin",
|
||||
"files_versions",
|
||||
"files_videoplayer",
|
||||
"firstrunwizard",
|
||||
"logreader",
|
||||
"lookup_server_connector",
|
||||
"nextcloud_announcements",
|
||||
"notifications",
|
||||
"oauth2",
|
||||
"password_policy",
|
||||
"photos",
|
||||
"privacy",
|
||||
"provisioning_api",
|
||||
"recommendations",
|
||||
"related_resources",
|
||||
"serverinfo",
|
||||
"settings",
|
||||
"sharebymail",
|
||||
"support",
|
||||
"survey_client",
|
||||
"systemtags",
|
||||
"text",
|
||||
"theming",
|
||||
"updatenotification",
|
||||
"user_status",
|
||||
"viewer",
|
||||
"weather_status"
|
||||
],
|
||||
"alwaysEnabled": [
|
||||
"files",
|
||||
"cloud_federation_api",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
* @author Julius Haertl <jus@bitgrid.net>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
* @author Maxence Lange <maxence@artificial-owl.com>
|
||||
* @author Morris Jobke <hey@morrisjobke.de>
|
||||
* @author Robin Appelman <robin@icewind.nl>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
|
@ -91,8 +92,8 @@ class AppManager implements IAppManager {
|
|||
/** @var string[] */
|
||||
private $shippedApps;
|
||||
|
||||
/** @var string[] */
|
||||
private $alwaysEnabled;
|
||||
private array $alwaysEnabled = [];
|
||||
private array $defaultEnabled = [];
|
||||
|
||||
/** @var array */
|
||||
private $appInfos = [];
|
||||
|
@ -574,6 +575,7 @@ class AppManager implements IAppManager {
|
|||
$content = json_decode(file_get_contents($shippedJson), true);
|
||||
$this->shippedApps = $content['shippedApps'];
|
||||
$this->alwaysEnabled = $content['alwaysEnabled'];
|
||||
$this->defaultEnabled = $content['defaultEnabled'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -584,4 +586,20 @@ class AppManager implements IAppManager {
|
|||
$this->loadShippedJson();
|
||||
return $this->alwaysEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function isDefaultEnabled(string $appId): bool {
|
||||
return (in_array($appId, $this->getDefaultEnabledApps()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getDefaultEnabledApps():array {
|
||||
$this->loadShippedJson();
|
||||
|
||||
return $this->defaultEnabled;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -545,8 +545,7 @@ class Installer {
|
|||
if ($filename[0] !== '.' and is_dir($app_dir['path']."/$filename")) {
|
||||
if (file_exists($app_dir['path']."/$filename/appinfo/info.xml")) {
|
||||
if ($config->getAppValue($filename, "installed_version", null) === null) {
|
||||
$info = OC_App::getAppInfo($filename);
|
||||
$enabled = isset($info['default_enable']);
|
||||
$enabled = $appManager->isDefaultEnabled($filename);
|
||||
if (($enabled || in_array($filename, $appManager->getAlwaysEnabledApps()))
|
||||
&& $config->getAppValue($filename, 'enabled') !== 'no') {
|
||||
if ($softErrors) {
|
||||
|
|
|
@ -83,6 +83,17 @@ interface IAppManager {
|
|||
*/
|
||||
public function isInstalled($appId);
|
||||
|
||||
/**
|
||||
* Check if an app should be enabled by default
|
||||
*
|
||||
* Notice: This actually checks if the app should be enabled by default
|
||||
* and not if currently installed/enabled
|
||||
*
|
||||
* @param string $appId ID of the app
|
||||
* @since 25.0.0
|
||||
*/
|
||||
public function isDefaultEnabled(string $appId):bool;
|
||||
|
||||
/**
|
||||
* Enable an app for every user
|
||||
*
|
||||
|
@ -178,6 +189,12 @@ interface IAppManager {
|
|||
*/
|
||||
public function getAlwaysEnabledApps();
|
||||
|
||||
/**
|
||||
* @return string[] app IDs
|
||||
* @since 25.0.0
|
||||
*/
|
||||
public function getDefaultEnabledApps(): array;
|
||||
|
||||
/**
|
||||
* @param \OCP\IGroup $group
|
||||
* @return String[]
|
||||
|
|
|
@ -243,7 +243,7 @@ class AppsManagementContext implements Context, ActorAwareInterface {
|
|||
*/
|
||||
public function iSeeTheAppBundles() {
|
||||
Assert::assertTrue(
|
||||
$this->actor->find(self::rowForApp('Auditing / Logging'), 2)->isVisible()
|
||||
$this->actor->find(self::rowForApp('Auditing / Logging'), 10)->isVisible()
|
||||
);
|
||||
Assert::assertTrue(
|
||||
$this->actor->find(self::rowForApp('LDAP user and group backend'), 2)->isVisible()
|
||||
|
|
Loading…
Reference in New Issue