Commit Graph

50 Commits

Author SHA1 Message Date
Robin McCorkell eb0e5ce12c Restrict Local backend to admin-only 2015-08-19 10:08:24 +01:00
Robin McCorkell c592e24c87 Make Application a singleton
The same Application must be used in the settings templates and in
routes, so that any registered backends are correctly seen
2015-08-19 10:08:23 +01:00
Robin McCorkell 37beb58c6f Introduce BackendService for managing external storage backends
Backends are registered to the BackendService through new data
structures:

Backends are concrete classes, deriving from
\OCA\Files_External\Lib\Backend\Backend. During construction, the
various configuration parameters of the Backend can be set, in a design
similar to Symfony Console.

DefinitionParameter stores a parameter configuration for an external
storage: name of parameter, human-readable name, type of parameter
(text, password, hidden, checkbox), flags (optional or not).

Storages in the StoragesController now get their parameters validated
server-side (fixes a TODO).
2015-08-19 10:05:11 +01:00
Morris Jobke f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Martin cdbf472c4d Make string 'SFTP with secret key login' translatable 2015-05-27 15:38:05 +02:00
Jenkins for ownCloud b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Vincent Petry ce94a998dd Use storage id + appframework for ext storage CRUD
- Added StorageConfig class to replace ugly arrays
- Implemented StorageService and StorageController for Global and User
  storages
- Async status checking for storages (from Xenopathic)
- Auto-generate id for external storage configs (not the same as
  storage_id)
- Refactor JS classes for external storage settings, this mostly
  moves/encapsulated existing global event handlers into the
  MountConfigListView class.
- Added some JS unit tests for the external storage UI
2015-03-12 18:51:02 +01:00
Morris Jobke 06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud 6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Robin Appelman d2255a1d30 New SMB storage backend 2015-02-16 13:52:11 +01:00
Vincent Petry bd01ff135a Merge pull request #13190 from is-apps/master-sftp-key
Add SFTP public key authentication support
2015-02-10 16:44:29 +01:00
Vincent Petry 2bb65dd9b1 Merge pull request #13364 from is-apps/files_external_cleanup
Clean up files_external
2015-02-09 13:20:42 +01:00
Ross Nicoll 02c6b72e25 Change from array() to [] style in files_external application info. 2015-01-14 17:16:12 +00:00
Ross Nicoll 64f4f8fc84 Add support for SFTP key authentication
Add support for external files accessed via SFTP using public key exchange authentication.
Keys are generated automatically when the configuration is added, or can be regenerated on demand if a key is compromised.
Creation of a new configuration row now triggers focus on that row. This is used to trigger auto-configuration for SFTP keys.
Generated public keys are saved in user's data directory for easy retrieval by an external application.
Add controller for SFTP key generation AJAX
SFTP class initialisation no longer produces a warning if the password field is missing.
Add unit tests for SFTP with key authentication backend
2015-01-14 17:00:34 +00:00
Vincent Petry 87f81e5926 Remove unneeded addTranslations() calls 2015-01-14 14:36:23 +01:00
Martin edcba11a91 smb: rename textfield from root to subfolder
"root" or "subfolder" -> "Remote subfolder" on selected storages

missed ftp...
2015-01-07 20:54:05 +01:00
Robin Appelman a369d78124 Use the mount config api for files_external 2014-12-04 16:47:30 +01:00
Vincent Petry ec1a73fab9 Added OC.L10N namespace with translation functions
Added addTranslations and fixed de.js file

Fixed de.js to use OC.L10N.register() and use to correct expected
format.

Added JS unit tests for OC.L10N class

Include translations JS script for all apps
2014-10-29 10:09:12 +01:00
Robin Appelman 3d7aff84e5 Fix configuration of rackspace 2014-09-05 13:22:35 +02:00
Robin Appelman d0266c0bf8 Use public api for getting l10n 2014-08-31 10:08:22 +02:00
Robin McCorkell 0e8a973579 Improve UI of external storage configuration
* Highlight fields that need to be filled
 * Remove (required) and (optional) strings where possible
 * Focus first configuration field when creating new external storage
 * Add ability to force external storage re-check
 * Various jQuery improvements
 * Prevent wrapping of checkboxes in configuration
2014-08-30 09:02:37 +01:00
Thomas Müller 171475b95a fix autoloader 2014-06-27 08:52:40 +02:00
Vincent Petry 01c2c3107a Added external storage list in files app 2014-06-06 15:06:26 +02:00
Robin McCorkell 05642733a3 Add storage priority support
Each storage backend has a default priority, assigned to any system mounts
created in ownCloud. mount.json can be manually modified to change these
priorities.

The priority order is as follows:
 * Personal
 * User
 * Group
 * Global

Within each mount type, the mount with the highest priority is active.

The storage backend defaults were chosen to be the following:
 * Local - 150
 * Remote storage - 100
 * SMB / CIFS with OC login - 90
2014-05-21 22:17:21 +01:00
fibsifan 06c084cc3c changing label "URL" to "Host" 2014-05-15 14:09:10 +02:00
Thomas Müller 9128900c56 drop files_irods from apps_external 2014-04-28 12:39:28 +02:00
Volkan Gezer da61acd1e2 Add translatable mount configs
Will close #8070
2014-04-23 17:58:14 +02:00
Thomas Müller c0ebc1dfb1 Update backends and their configurations 2014-04-03 16:57:26 +02:00
Philipp Kapfer ff9a4a6d91 Added cURL dependency for Amazon S3, Dropbox and SWIFT
Conflicts:
	apps/files_external/lib/amazons3.php
	apps/files_external/lib/swift.php
2014-04-03 16:38:43 +02:00
Philipp Kapfer 8ca897df76 Added cURL dependency check to Google Drive and WebDAV backend
Added check for backend's checkDependencies method to OC_Mount_Config::getBackends() when backend is configured to have some instead of blindly calling it and crashing

Conflicts:
	apps/files_external/lib/config.php
	apps/files_external/lib/google.php
2014-04-03 16:30:48 +02:00
Philipp Kapfer f7da4280ca Modified app to dynamically register backends instead of hard-coding them
Moved dependency check to the individual backends instead of the config

Conflicts:
	apps/files_external/appinfo/app.php
	apps/files_external/lib/config.php
2014-04-03 16:21:52 +02:00
Robin McCorkell cac4aaa8c4 Rename SMB_Auto to SMB_OC and change visible name
SMB_Auto is now SMB_OC, and the name has been changed from
"SMB / CIFS Auto" to "SMB / CIFS using OC login"
2014-03-26 14:35:07 +00:00
Robin McCorkell ba63e46b5e SMB/CIFS mount using OwnCloud logon credentials
Selecting 'SMB/CIFS Auto' in the mounts configuration allows an SMB/CIFS
mount to be configured that uses the credentials of the user logging in to
authenticate to the server.

Optionally, the username can be used as the share name, permitting home shares
to be dynamically mounted.
2014-03-26 14:35:07 +00:00
Vincent Petry 4cb53f77b2 Moved external storage mounting code to files_external app
Moved the mounting code for external storage from
OC\Filesystem::initMountPoint to files_external using the
post_initMountPoints hook
2014-03-19 12:45:38 +01:00
Thomas Müller a8d20e0919 Merge pull request #5238 from owncloud/externalstorage-owncloudbackend
Added ownCloud backend for external storage
2014-01-08 01:49:15 -08:00
Christian Berendt 452d0a20a6 renaming OC\Files\Storage\SWIFT to OC\Files\Storage\Swift 2013-10-22 14:22:03 +02:00
Vincent Petry b1f1357957 Added ownCloud backend for external storage
To make it possible to use the short ownCloud URL (without specifying
webdav.php or remote.php), a new backend is available for ownCloud.

The user must specify the host + context path in the "Url" field (which
is mapped to the "host" parameter) and the subdir to mount in the "Root"
field.

This is to prevent confusion because some users forget to append
webdav.php or remote.php to the WebDAV URL.

Fixes #4923
2013-10-09 17:30:22 +02:00
Thomas Mueller e1f5f00ec3 in order to use the ownCloud login credentials we use a login hook to grab uid and password and store it in the session.
The stored credentials will be used for and interactions with the iRODS server.

Within the config UI a check box can be used to enable the credential reuse.
2013-04-18 22:12:53 +02:00
Thomas Mueller 7dd3391117 initial integration with iRODS www.irods.org
The used PHP API is hosted at https://code.renci.org/gf/project/irodsphp/
2013-04-12 15:51:58 +02:00
j-ed 2aaf38b5d3 Update app.php
suppress log message `include path for class \"OC\\Files\\Storage\\SMB\" starts with \"apps\/\"`
2013-03-02 12:12:33 +01:00
Henrik Kjölhede 41fa65e7be Merge branch 'master' of https://github.com/owncloud/core
Conflicts:
	apps/files_external/appinfo/app.php
2013-02-09 14:05:33 +01:00
hkjolhede 180ab42c06 Update apps/files_external/appinfo/app.php
Adding support for SFTP
2012-12-26 18:00:04 +01:00
Robin Appelman bd83422095 put filestorages in a namespace 2012-09-07 18:30:48 +02:00
Michael Gapczynski ab41b57f62 Add Dropbox storage backend 2012-06-09 15:02:48 -04:00
Michael Gapczynski 4b3ae60558 Working UI for external storage mount configuration 2012-06-08 11:42:29 -04:00
Robin Appelman a1539dace7 share code between smb and ftp filestorage backends 2012-05-24 19:41:32 +02:00
Robin Appelman 2f40f11c87 smb filestorage backend 2012-05-24 18:23:59 +02:00
Michael Gapczynski bee724c53e Initial work on UI for mounting external storage 2012-05-24 11:06:03 -04:00
Robin Appelman 9a707e10bf add SWIFT (openstack object storage) storage backend 2012-04-18 20:54:28 +02:00
Jan-Christoph Borchardt 011132feb3 renaming remote storage support to External storage support to clear up naming conflict 2012-03-30 18:18:37 +02:00