Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

But 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.

Logging In

The widget uploader can be accessed from <ROOT_URL>/manager/fileUploader.jsp (eg http://infinite.ikanow.com/manager/fileUploader.jsp). It can also be reached from the home page of the Manager webapp (itself linked from the main visualization GUI).

...

  • 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.

Uploading a new "binary" file

(Note "binary" here refers to anything except for JSON)

...

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

Infinit.e handles JSON with some additional support. The process is the same as above, except:

  • Select "Upload New JSON" (instead of "Upload New File")
  • 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)
  • 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 by selecting "Share existing object". This generates the following fields:

  • The "type" field, which is treated identically to JSON shares as described above (note this makes sense because shared objects are always JSON)
  • 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.
  • (By contrast the "File" field is removed compared to JSON/binary shares)

Create shares that just point to the local file system

It is possible to create shares that return the local files as binary or JSON shares (on multi-node clusters, the same version of the file must be present on all nodes or unpredictable behavior will ensue). This can be used to "publish" common local files but with security restrictions.

...

Warning

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. 

...

Info

Note that 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

Log in and choose a file as above, then select the "Delete" button.