New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
External storage settings are missing in personal user settings for all ldap users #1251
Comments
Hello everyone, I could fence the problem down to one commit. But I'm sadly no PHP developer (only C++) and have no clue about any details, here. The issue for me was introduced by @icewind1991 with commit 5dd20a5 (and c51e2eb). The problem there is the new version of the public function registerSettings() {
$container = $this->getContainer();
$backendService = $container->query('OCA\\Files_External\\Service\\BackendService');
/** @var \OCA\Files_External\Service\UserGlobalStoragesService $userGlobalStoragesService */
$userGlobalStoragesService = $container->query('OCA\Files_External\Service\UserGlobalStoragesService');
if (count($userGlobalStoragesService->getStorages()) > 0 || $backendService->isUserMountingAllowed()) {
\OCP\App::registerPersonal('files_external', 'personal');
}
} which for me works ONLY for non-ldap users. I sadly can't tell why. The old (much simpler) version public function registerSettings() {
\OCP\App::registerPersonal('files_external', 'personal');
} works fine for me with both local AND ldap-users. I hope this is useful. BTW: The latest download of Nextcloud 10.0.0 does still have the old version of Best regards, |
As addition: Now Nextcloud sometimes tells me that some external mountpoints could not be listed. But at least I can see all my personal mount points again and create new ones. |
Is there really no one who can reproduce/comment this? I could offer help for testing if necessary... |
Same issue on 10 for me. Installed from the download link on nextcloud.com |
@jmccoy555: Did you download 10.0.0 or the latest 10.0.1? As far as I remember from testing this issue some time ago, 10.0.0 was not affected. The problem is that no one of the nextcloud-developers except @nickvergessen did respond to this post. And now they have it pushed into the official release. I would have expected a comment at least from @icewind1991... |
Was also reported on discource and i could reproduce (on stable10, not on master). |
It has something to do with Session handling differences between Nc10 and master. As @pasbec says c51e2eb triggers the behaviour because we leave the method before we could register anything. While in master we are not logged in, yet, this works well. In stable10 things are different. It's a more fundamental issue. A session restore via On master, the session is asked several times for the user, until the user_ldap app is loaded, finally the user backend is registered and everything is done. On stable10, however, it takes more cycles until the user_ldap app is loaded and before registering the backend, the files_externals app is loaded. I'll continue from this spot a bit later. |
in stable10 it is because LDAP pulls in the Avatar Manager. And this - because it avatars are stored in the user directories, pulls in the filesystems app. Thus, user_ldap is not finished with the initialization while files_external is. I thought on master it works because of the AppData changes, but no, this guess did not work out. Thing is, it's bad in general that user_ldap has strong requirement on the file system at this stage, we should postpone it a bit. |
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
[stable10] make AvatarManager use LazyRootFolder, fixes #1251
Fixed by #1723 being shipped with the next maintenance release. |
Dear @blizzz, thank you for fixing this so quickly. Really appreciate it! I'm looking forward to testing it as soon as possible. Best, |
@pasbec you can also change the two lines in your instance manually: Shouldn't be too difficult |
@nickvergessen was just a bit short on time. Simply pulled current stable10 (51300d3) and it works. Thanks again! |
Steps to reproduce
1.1. Have owncloud 8.2.2 installed
1.2. Connected to AD via ldap
1.3. Activated app files_extrernal (4 for one user and 2 for another user)
1.4. Added external storages in Personal->External Storage
1.5. Conculsion: Everything works fine
2.1. Get Nextcloud server via git (stable9)
2.2. Dump owncloud my-sql database and clone it into nexcloud database
2.2. Copy config (keep 'oc_' prefix) and rename database to nextcloud
2.3. Upgrade (Finished succesfully)
2.4. Update server to stable10
2.5. Upgrade (Finished succesfully)
Expected behaviour
External storage settings are present in personal user settings
Actual behaviour
External storage settings are missing in personal user settings for all ldap users - despite of that all perviously configured storages are present in files and seem to work without problems. Furthermore the external storage settings ARE present for all local (non-ldap) users.
Server configuration
Operating system: Ubuntu 14.04 LTS
Web server: Apache/2.4.7 (Ubuntu) Server built: Jul 15 2016 15:34:04
Database: mysql 5.5.50-0ubuntu0.14.04.1-log (Ubuntu)
PHP version: php 5.5.9-1ubuntu4.19 (cli) (built: Jul 28 2016 19:31:33)
Nextcloud version: (see Nextcloud admin page) 10.0
Updated from an older Nextcloud/ownCloud or fresh install: ownCloud 8.2.2 -> Nextcloud/stable9 -> Nextcloud/stable10
Where did you install Nextcloud from: git branch stable10 (as of 01 Sep 2016)
Signing status:
Signing status
Installed applications:
App list
The content of config/config.php:
Config report
Are you using external storage, if yes which one: Dropbox/WebDAV/Google Drive/Nextcloud
sudo -u www-data php occ files_external:list user 1
sudo -u www-data php occ files_external:list user 2
for i in {1..6}; do echo storage id $i check; sudo -u www-data php occ files_external:verify $i; done
Are you using encryption: no
Are you using an external user-backend, if yes which one: ActiveDirectory
LDAP config
Browser:
Firefox 48.0.2
Internet Explorer 11.9
Opera 38
Operating system:
Ubuntu 14.04
Ubuntu 16.04
Windows Server 2012 R2
Windows 8.1
Windows 7
...
Logs
Web server error log
Web server error log
Nextcloud log
Browser log
The text was updated successfully, but these errors were encountered: