silexlabs / cloud-explorer

*this version is deprecated, see CloudExplorer2* File manager for your users cloud services such as dropbox, google drive and FTP
http://cloud-explorer.org
52 stars 23 forks source link

Cloud Explorer, file picker for the cloud

Cloud Explorer enables your application or website users with picking their files from the cloud.

Here is cloud explorer official website.

Cloud Explorer is a free and open source project powered by Silex Labs.

Authored by Thomas Fétiveau @zab0jad and Alex Hoyau @lexoyo.

About Cloud Explorer

Cloud Explorer aims to provide an open source client library that exposes the same API as the File Picker API.

Cloud Explorer is the front end client of the unifile backend, a nodejs server which provides a unified access to cloud services. This project uses nodejs and those modules: express, dbox, express, googleapis, logger, node-oauth, oauth, path.

The backend is in node.js and the front end is in Javascript. Cloud Explorer is written with Haxe, enabling a modern and elegant syntax as well as a strong typed and more reliable javascript source code.

The project is not mature yet and doesn't provide half of what is provided by File Picker. It's however under constant development and will provide more and more of the IPF API every week plus some extra features we've found useful for our projects but that were not offered by IPF.

Cloud Explorer is also skinable with CSS and hostable in house.

Discussions

Setup

Development or Test

Prerequisite :

Cloud Explorer default development environment uses grunt (nodejs), compass and few other little tools that aim to make developping CE easier and faster.

For early testers and contributors, here are the setup steps to follow in order to run this version of CE:

Production

To install and use Cloud Explorer in your projects, follow those steps :

Note that you can also precise the iframe element id that will be used by Cloud Explorer. If not specified, one will be automatically generated.

(...)
        <iframe id="ce-js"
                frameborder="no" 
                scrolling="no"
                allowfullscreen="yes">

        </iframe>
(...)
<script type="text/javascript">
    window.document.onload = function(e){

        window.cloudExplorer = ce.api.CloudExplorer.get("ce-js");
    }
</script>

Configuration

To pass configuration variables to Cloud Explorer, specify the iframe it will use as described earlier:

        <iframe id="ce-js"
                frameborder="no" 
                scrolling="no"
                allowfullscreen="yes"
                data-ce-unifile-url="http://cloud-explorer.herokuapp.com/api/1.0/">

        </iframe>

This will allow you to add the below supported configuration properties:

Current implementation state and roadmap

Currently supported cloud services

More to come soon...

Currently supported features

The currently implemented part of the IPF API in Cloud Explorer consists of:

Supported fields: url, filename, mimetype, size

Other fields will return null.

No option supported yet. Will just pick a file from your favorite cloud service and give back a CEBlob instance.

Supported options are: mimetype, extension.

This function doesn't work exactly like the IFP yet as it will need a call to write() after the call to export() to actually write the file. For now, it will just generate a CEBlob instance corresponding to the new file you want to create/store.

No option supported yet.

cloudExplorer.read(currentBlob, function(d){

        textarea.val(textarea.val() + "\nread data: " + d);

    }, function(e){ console.log("error " + JSON.stringify(e)); });

No option supported yet.

Roadmap

Current version is 1.0. It is a complete refactoring of the previous 0.1 version that was dependant on JQuery and AngularJS. Version 1.0 has no client side dependency and is implemented with Haxe javascript, allowing future ports of the basecode to native mobile/desktop, Flash/AIR, ...

The goals of version 1.1 are simple: implement the full File Picker API (web version).

Then we will probably make SDKs for Android and iOS apps.

Contributions

We love contributions and consider all kind of pull requests:

You can also contribute to the unifile library in order to add more cloud services to Cloud Explorer

See the instructions to contribute to unifile

Contributors

We are all members of Silex Labs foundation.

Silex Labs

Feel free to contact us through twitter or linkedin

Thomas Fétiveau Thomas Fétiveau @zab0jad Web & mobile Developer

Alex Hoyau, javascript developer Alex Hoyau @lexoyo Front end architect

Pol Goasdoué, freelance UI designer Pol Goasdoué @superwup freelance UI designer

Licensing

Cloud Explorer is licensed under the MIT license.

Screenshots

Cloud explorer user interface Cloud explorer user interface Cloud explorer user interface Cloud explorer user interface Cloud explorer user interface Cloud explorer user interface