Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

Overview

The file uploader provides a simple web-based user interface for uploading new files to the system, and for sharing them across the different communities.

Currently the main uses for file sharing in Infinit.e are:

  • Uploading widgets to the system (this is actually better done via the widget uploader, which performs a number of uploads in a single step)
  • Uploading JARs to the system to be used as MapReduce plugins.
  • Storing sources before they are published to the system (this is all managed by the source builder GUI tool).

The share interface is completely generic, and widgets can be developed that allow communities of users to share app-specific binary and text files between them. In addition, roadmap items to both the core platform and visualization framework include query sharing and per-user/community synonym handling that will use the share interface.

 

Using the File Uploader

Logging In

The file uploader shares its cookie with the main GUI, the widget uploader, the source builder, and the person manager - logging into any of them will log into all of them.

To login

  1. Provide your credentials when prompted by any of the above mentioned GUIs.

Root URL Access

The widget uploader can be accessed from th eroot url by using the following url format:

<ROOT_URL>/manager/fileUploader.jsp

eg http://infinite.ikanow.com/manager/fileUploader.jsp). 

This brings up username and password fields and a login button.

In order to login with admin privileges (for admins only!), append "?sudo"or "?sudo=true" to the URL (eg http://infinite.ikanow.com/manager/fileUploader.jsp?sudo).

If you are not logged-in with admin privileges you will only be able to edit your own files, though you will still be able to share files with any communities of which you are a member - this is different to both source management and widget uploading, where you must be a community moderator/owner

 

Uploading a New "Binary" File

You can use the File Uploader to upload binary file types (anything other than JSON).

To upload the file,

  1. You can leave Filter On blank
  2. Ensure that the Action dropdown specific "Upload New File."
  3. Provide a Title, description, and applicable communities.

You can select either a single or multiple (CTRL+click) communities. You can share files with any available community. If you upload to only your personal community, only you (and system administrators) will have access to the file.

    4.Select the file from your hard drive and network drives, and select "Submit".

The system will automatically detect the MIME type and store this - this will be used both in filtering (see below) and for the content-type for when that file is served from the REST API.

Uploading a new "JSON" file

You can use the File Uploader to upload JSON files.

Infinit.e handles JSON with some additional support, and there is an additional field "type" that can be any string value.

This type is used in a few different ways:

  • It can be filtered on from the "Filter On" drop down menu in this GUI
  • It can be used as an efficient search object in the Social - Share - Search API call.
  • Shares of type "infinite-entity-alias" are used by the framework for aliasing.
  • Shares of type "source_template" are used by the Source Editor GUI as shareable templates.
  • Shares of type "widgetsave" are used the main GUI to store per-user or per-community settings
    • developer info here (uses map widget KML layers as an example)
  • (And of course any other Infinit.e application can use it for internal purposes)

To upload the JSON file

  1. Select "Upload New JSON" (instead of "Upload New File").  
  2. Specify the Type field as appropriate.
  3. Fill in the other fields as per binary file types.  The JSON is checked on ingest and an error thrown if it is invalid.

Sharing an existing Infinit.e (JSON) object

JSON objects from various internal Infinit.e databases can be shared to communities.  When sharing to communities you must specify the type field, as when uploading a JSON file, as well as reference informaton:

  • A "reference location" dropdown which allows the user to choose from the available databases:
    • Custom Plugin Collection: the first object from this custom job is shared
    • Document Metadata Collection: the document with the specified "_id" field is shared
    • Aggregated Entity Collection: the entity object with the specified "_id" field is shared
    • Aggregated Association Collection: the association object with the specified "_id" field is shared
    • Local files (see below)
  • A "reference doc id" field that must contain the "_id" field of the object chosen above.

 

To share an existing JSON object

  1. From the Actions dropdown, selecting "Share existing object". 
  2. Configure the "Type" field as required.  For more information, see File Uploader Interface.
  3. Configure "Reference location" and "Reference doc id."
  4. Click on Submit.

Create Shares Pointing to the Local File System

It is possible to create shares that return the local files as binary or JSON shares.

This can be used to "publish" common local files but with security restrictions.

Only administrators can use this function.

On multi-node clusters, the same version of the file must be present on all nodes or unpredictable behavior will ensue.

 

To create local file system shares

  1. From the actions dropdown select "share existing object."
  2. For Type select "binary" as the type if the object is not JSON
  3. For "reference location" select "Local File (admin only)"
  4. For "Reference doc id"  select the absolute path of the file to be shared.

This provides non-admin users who belong to the shared communities with (read only) access rights to that file.

Editing Existing Shares

After log-in, all files you own can be seen from the top drop-down menu (initially called "Upload New File").

If you are a community owner or moderator, all files in your communities can be seen in addition. 

If you an administrator, all files in the system can be seen. 

To edit the share

  1. Select the file to be modified from the "Upload New file" dropdown.
  2. Change the fields as required (eg. change communities), and then click on Submit.

Filtering

You can filter to only certain types of file, using "?ext=<type>",

where <type> is either "jar" or a MIME type (eg "pdf" for "application/pdf").

The GUI also provides a drop down for performing this from the set of available source or MIME types.

The "?ext=<type>" URL parameter can be used to filter on file type (or use the filter drop down menu).

By way of example, consider the following screen capture:

Here we have filtered to only show files with MIME type "x-shockwave-application", and only the SWFs are shown. Conversely, using "ext=gif" would have restricted the drop down to show only the icon files.

Currently, the most common usage will be "ext=jar" ("jar" is a special string defined for this tool), to view Hadoop plugins.

There is currently no way of explicity endorsing/unendorsing shares from this GUI (we will add that functionality if it becomes in demand), but in the meantime you can work around that by unsharing it from the desired community,. and then sharing it back again (assuming you are an administrator or community moderator).

Deleting files

You can use the file uploader interface to delete files.

To delete a file

  1. From the "Upload new file dropdown" select the file to be deleted.
  2. Select the "Delete" button.


 

In this section:

Related Reference Documentation:

File Uploader Interface

 

  • No labels