User Tools

Site Tools


webinterface:webinterface

Webinterface

Introduction

The Webinterface allows you to give users controlled access to submit and view Jobs without the need for the user to have permissions or network access to the Storages or to the FFAStrans server itself.

Architecture



The design allows to run the webinterface in a separate network from Users and FFAStrans perspective. In Simple environments of course, the webinterface runs on the same server as FFAStrans does.

The number of logged in users does not influence how often the Data from FFAStrans is requested so your production server is safe from a possible overload by too many users.


Installation

Installing the Webinterface as a service is optional, you can also just execute “server.exe” for testing.

Before installing the webinterface, make sure the FFAStrans API is running as described here: Installation.

Note: It is recommended to extract the installation package in the same folder than FFAStrans folder.

Example location:

C:\FFAStrans\Webinterface

To install Webinterface, follow this procedure :

  • Unzip package.
  • open folder unzipped and start “Service_Install.bat”.
  • Authorize Service Installation by clicking “yes”.
  • Wait for the service to start.
  • Once started, hit a key to close prompt window.

The Webinterface Windows Service is now running and called “FFAStrans Webinterface”.
You should be able to access it in your Browser on http://localhost:3002

Note: : To access the WebInterface from another computer, don't forget to allow WebInterface app (Server.exe →Node.js:Server-side Javascript) to communicate through the firewall.



Configuration

IMPORTANT: By default, Windows Service will be installed with standard Local System User. It is recommended to configure the Windows Service to run under different credentials so it can access UNC or SAN Locations of the Media Files.
If you change the credentials, make sure that the new user also has Administrative rights on the machine in order to write files to the installation directory (Database).


The Webinterface works only if :

  • FFAStrans API is running

If your webserver(webinterface) runs on the same server as your main ffastrans server, open your web browser and type : http://localhost:3002


Details :

  • A: This is the job(s) running's window. You can see the job(s) in progress and the Estimated Time for Achievement(ETA).
  • B: Finished jobs window (Error/Success ). Note that the Webinterface stores jobs into it's own database and it will automatically maintain itself to keep 20.000 Records.
  • 1: Instance name in case you have multiple installations
  • 2: Logout Button allows to exit from the current session. Only works when you activated “STATIC_USE_WEB_AUTHENTIFICATION” in Server configuration.
  • 3: Navigation Menu. Use the User manager to restrict the Items a user can access.
  • 4: Running Job's Toolbar allows to interact on the current job. Abort, Pause or Resume a job.
  • 5: Interacts with finished job(s). You can delete all history jobs list or delete only selected jobs.

Workflow Menu / Select Files / Start Jobs

The Workflow Menu allows users to select files from existing Server locations or upload new files and start Jobs. Use the User Configuration Manager to Filter which Workflows and Variables users are allowed to utilize.
For the File upload, please note that this is only HTML5 file upload so it will be relatively slow and somewhat instable when it comes to Files bigger than some Gigabytes. Transferring huge files should be done using technologies that are intended for it (e.g. NFS, SMB, FTP etc…).

Details:

  • A: Browse window, make your file(s) selection here.
  • B: Here is(are) the selected file(s).
  • C: Choose your workflow in this window. Click on “Job Setup” to set the workflow selected(which monitor folder and which variables).
  • 1:
    • Locations: Select your different paths(Settings in Server Configuration).
    • Save Location: Save the current location into Locations selector
    • Add Selected: Add selected file(s)
    • Add all: Add all files in actual folder.
    • Info: Show path and file size.
  • 2:
    • Add: Enter full path to choose a file.
    • Delete: Remove file(s) selected.

Workflow Integration

From within your workflow, you can influence the appearence of userinputs. All you have to is in your workflow, create a user variable named webui_* and in the variable description enter one of the following json objects:

Calendar Note that you can define the dateFormat in the way you need it later in your workflow.

{"type":"calendar", "label":"Calendar demo", "enableTime":true,"minutesInterval":5,"dateFormat":"%Y-%m-%d %H:%i:%s"}

TextBox: (To define textarea, use the attribute rows). Note that you can delete fields you do not need, e.g. tooltip, required, note

{"type": "input", "label": "Textbox demo","value": "Default Value 123","rows": 1,"tooltip": "Some Tooltip text","required": true,note: {"text": "Enter filename. The field is required."} }

Select:

{"type": "select", label: "Select Demo", "options":[ {"value": "My Value 1", text: "Administration"},  {"value": "Val 2", "text": "Design"},  {"value": "V 3", "text": "Manage Articles"}    ]}

Multiselect:

{"type":"multiselect","label":"Multiselect demo:","inputHeight":90,"inputWidth":120,"options":[   {"text": "Administrators", "value": "Option 1", "selected": true},   {"text": "Power users", "value": "Option 2", "selected": true},   {"text": "Registered users", "value": "Option 3"},   {"text": "Guests", "value": "Option 4"},   {"text": "All users", "value": "Option 5"}]}
Calendar dateFormat options:
%d - day as a number ( with leading zero );
%j - day as a number;
%D - abbreviated name of the day;
%l - full name of the day;
%m - month as a number ( with leading zero );
%n - month as a number;
%M - abbreviated name of the month;
%F - full name of the month;
%y - year as a number (2 digits);
%Y - year as a number (4 digits);
%h - hours (12);
%H - hours (24);
%i - minutes;
%s - seconds;
%a - am or pm;
%A - AM or PM.

Submit all selected files into one job for concat/stitch

In FFAStrans workflow editor - workflow properties, you can enter a workflow description. Add the keyword webui_stitch. If this word is found in the workflow description, all selected files are submitted as json array into s_source variable and you can use e.g. the “Foreach” Processor to process all Files separately.


User Manager Menu

This menu is only useful if “STATIC_USE_WEB_AUTHENTIFICATION”(Server Configuration Menu) is enabled.

The purpose is to filter Webinterface access rights based on users. Here is the procedure :

  1. Create first your groups (admin, users, monitoring,etc).
  2. Click on a group (admin for example) and assign rights (drag a grid row from left to right).
  3. Create admin user(name and password), click on it and drag a group from left to right to link user to a group.
  4. Repeat the procedure to link each user to his group.

You can use filters per group(filter rules), see inbuilt documentation for details.


Server Configuration Menu

This menu allows to configure the Webinterface : Header name, browse locations, port number, etc. Click “Save” after making your settings.
See inbuilt documentation for settings details.
(See Instance Name if your header's name is too large)


Scheduler Menu

Scheduled jobs are used to start workflows in a specific frequency, compareable to the Windows Task Scheduler.
The Idea is to start jobs on a specified frequency instead of starting a job manually or at the arrival of a new file in a watchfolder.
The “Condition” is a key part, it allows you to run a Script before a job is actually started in order to check if the Job actually needs to be started. By default, if you do not care about the condition, your workflow will just be started in the provided frequency. You can however alter the condition script in a way that it “checks” if a new job need to be started. So in the end if you have a complex starting condition like the arrival of multiple files in the same folder or such, you are able to provide your own logic to check if a new job shall be started or not.


Example usages:

  • Delete Files every Night
  • Compare 2 directories and start a job for all files missing in directory 2
  • Implement your own watchfolder when the built in one does not act as you wish

Tipps and Tricks

Instance Name

If you want to enter a long or colorful Instance name, you can use html in the Server Administration Menu:

 <span style="font-size:10px">VERY LONG NAME OF MY INSTANCE</span>

Direct Access to Pages

You can give users direct access to the single pages of the Webinterface, e.g. if you want to display the Jobs on a Monitor, you would just enter the direct url to the Jobs:

http://localhost:3002/webinterface/components/jobviewer.html


Another example that allows users to open directly the Jobstarter Interface:

http://localhost:3002/webinterface/components/jobstarter.html


The jobstarter.html even allows you to automatically add a file to the list of to be submitted files:

http://localhost:3002/webinterface/components/jobstarter.html?file=YOURFILE_OR_URL_OR_WHATEVER

This allows an administrator to configure easy job start tools for his users, e.g. by adding a context menu item to the windows registry.

Automatic Login

For auto logon, you can provide username and password using URL-parameters on the login page.
For example, you can save a link like that in your bookmarks and it will always automatically log you in.

http://localhost:3002/webinterface/components/login.html?username=admin&password=Passw0rd
webinterface/webinterface.txt · Last modified: 2022/11/07 13:54 by emcodem