1 Introduction

1.1 What is File+

File+ is a web application that provides file storage and conversion between different file formats. Because File+ stores files persistently it can be used as an origin service when using Content Delivery Networks (CDN). These features are provided by the File+ web based API. The File+ API can be used in many kinds of applications including server side applications, desktop applications and mobile applications.

The main source of inspiration for File+'s API are the basic command line tools for managing files in Linux / Unix type systems. These include cp, mv, ls, mkdir, rm.

Features

Creating directories
Creating directories in arbritrary hierarchies is supported. Each directory can be freely named by the rules and conventions defined by File+.
Listing contents of directories
List contents of a directory outputs results in similar format used by the ls command using specifier -al or -ll.
Uploading and downloading files
Files can be uploaded into a directory you have created. Scenarios for file download includes:
  • downloading the file to local disk
  • displaying the file, such as an image or video, in a web page
  • serve files to a CDN application, which will further deliver files to end users
Copying files and directories
You can make copies of files and directories efficiently within File+.
Renaming and moving files and directories
You can rename and move files and directories from one path to another.
Deleting files and directories
Files and directories can be deleted once they are not needed any longer.
Converting files from one format to other formats
Files can be converted from one format to another. Such an operation uses one file as source and will produce another file as the result. Example conversions are:
  • convert a jpg image to png format
  • convert a wmv video file to a mp4 video file that is compatible with html5 video players
  • convert a Revit 3D model file to an IFC file

1.2 Who is File+ intended for

File+ provides technical services to other applications. The target audience is primarily software developers, engineers and people with roles in system design and development. Here are a couple use cases to help explain who File+ is for:

Software developers
Implementing application features that deal with files, content delivery and file conversion. Ability to access files from anywhere and always delivering files in correct format for each consuming client.
System architects
Integrating different storage systems and providing a unified single point of API based access to a heterogeneous storage backend.
System administrators
moving, securing (backup), migrating and managing files.

1.3 File+ Logics

The main functionality of File+ can be summarized as Input and Output (IO) as applied to data in files. The File+ IO operations can be applied in various combinations producing storage and conversion features in applications.

The operational logic of File+ is on two distinct levels:

  1. managing IO operation authorization
  2. performing requested IO operations

1.4 Security

File+ uses a hybrid authorization model, which is a combination of role based authorization and token based authorization. File+'s token-based authorization model encapsulates tokens in an object called a Ticket (think of the ticket being the vessel that carries the token).

The role based authorization is used to control the process of granting and revoking tickets. The tickets in turn are needed when requesting IO operations. Tickets allow controlling quantities, path scopes, operation scopes, etc. They are digitally signed and validated by File+.

All file IO and conversion operations are authorized using tickets. The tickets identify a file or conversion operation and the granted permissions. Tickets always apply in the context of a customer account.

For example, to rename a directory, the client needs to request a rename ticket and then request the rename operation. Authorized users may create tickets for File+ operations. One could generalize the use of the File+ API to the following programming model:

  • generating required tickets: you may generate tickets in advance and in quantities appropriate to your business logic
  • handing over tickets to actors who then call file and conversion operations (actors may be people and software components)
  • executing the file and conversion operations

File+ can be deployed to audit all operations, which allows detailed inspection of what happens and who authorized operations to execute.

Connections to File+ are secured. File+ provides by default a secure HTTPS connection as the primary choice.


Accept & Close

We have placed cookies on your computer to help make this website better. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.