Git Product home page Git Product logo

app-uc-unit-manager's Introduction

Unit Manager

Unit Manager is a GUI tool that helps manage Personium Cells on any Personium Unit.

How to use

There are 3 options to use Unit Manager.

1. Served by your web server

In preparation.

2. Deploying to Personium Cell

In preparation.

3. Using a standalone application

You can download pre-build binary from Releases.

After extracting downloaded zip, you can launch Unit Manager application.

A simple use case

Perform the following procedures to create a folder and upload a file to the folder. Then, delete the file and the folder.

Demo video on YouTube

  1. Logon to the Unit Manager.
  2. Click [main] to show the content of the main box.
  3. Hover over the "Create" button and select "Folder" from the popup menu.
    "Create Folder" dialog will be displayed.
  4. Enter folder name.
  5. Click the "Create" button on the bottom right corner of the dialog.
  6. Click the link of the newly created folder to display the content.
  7. Click "Upload" to upload a file.
  8. Select the file and click the garbage bin icon to delete it.
  9. Go up one folder using the breadcrumb navigation.
  10. Select the folder and click the garbage bin icon to delete it.

License

Personium Unit Manager is licensed under the Apache License, Version 2.0. See LICENSE

app-uc-unit-manager's People

Contributors

cskyou avatar dixonsiu avatar hiroaki-shibata avatar kourokitakuto avatar naoya-mokudai avatar tochi-y avatar yoh1496 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

app-uc-unit-manager's Issues

Barfile installation for Unit and App cells

Like HomeApp, it would be nice to run the app within the cell to avoid security issues.

For usability improvement:

  1. when running within the cell, Unit URL and cell name input fields can be removed.
  2. should not open another tab

Add Logout button

Maybe we can put a logout button next to token (right hand side).

logout_button_position

Add "personium-localunit:" support when registering external Role

Issue

Sometimes the Cell and target external Role are not from the same Personium Unit.
For detail specifications, please refer to the API Reference.

REST API URL:

    "https://{UnitFQDN1}/{CellName1}/__ctl/ExtRole"

External Role URL:

    "ExtRole": "https://{UnitFQDN2}/{CellName2}/__role/__/{ExtRoleName}"

Solution

Should compare the UnitFQDN whether "personium-localunit" is applicable.

To Dos

Should convert same Unit FQDN to personium-localunit

  1. External Role Registration
  2. External Cell Registration
  3. Display List

Failed to display profile properly when Description is missing

The following method will raise an exception when Description is not defined.

common.prototype.getProfileDescription = function(resJson) {
    var tempDescription = resJson.Description;
    if (sessionStorage.selectedLanguage === 'en' && tempDescription.en != undefined) {
        tempDescription = resJson.Description.en;
    }
    return tempDescription;
}

Sample profile.json in en folder.

{"CellType":"App","DisplayName":"Directory (Demonstration)"}

Box Uninstallation support

Currently a Box cannot be uninstalled. The following conditions must be met before the user manually delete a box.

  1. Box must be empty
  2. Role/Relation created during Box installation must be deleted manually
  3. Box related messages (sent/received) must be deleted manually

Since the "X-Personium-Recursive" HTTP header is now available for Box resource. need to modify the delete operation when a Box is selected to support uninstallation.

Cannot delete rule which does not bind to a box

The REST API from the Cell Manager.

https://pds-dev.areas-yui.com/u-naka11/__ctl/Rule(Name='logout',_Box.Name='null')

Expected REST API.

https://pds-dev.areas-yui.com/u-naka11/__ctl/Rule(Name='logout')

OR.

https://pds-dev.areas-yui.com/u-naka11/__ctl/Rule(Name='logout',_Box.Name=null)

Display spinner during login

  1. Suggestion 1

    1. Automatic: login parameter -> spinner -> login failed -> login form
    2. Manual: login form -> spinner -> login failed -> login form
  2. Suggestion 2

    1. Automatic: login parameter -> spinner -> login failed -> login form
    2. Manual: login form -> login form + spinner on top -> login failed -> login form

Edit Profile dialog's image is missing when source is unknown

Description

When image's src attribute is assigned with either one of the following values. The anonymous image is not displayed.

  1. null
  2. undefined
  3. ""
    (Empty string)

Screen

Current ("image" is displayed instead of anonymous image)

cell_manager_edit_profile_missing_image

Expected

expected

Solution

Should not assign invalid value. The following methods basically has the same problem and should be refactored.

  1. showCellProfileImage
  2. showBoxProfileImage

$.load should handle error case

Currently it is assumed that it always return successfully. But sometimes, when it fails, the spinner does not stop.

Example for how to handle error.

    <script>
    $( "#success" ).load( "/not-here.php", function( response, status, xhr ) {
      if ( status == "error" ) {
        var msg = "Sorry but there was an error: ";
        $( "#error" ).html( msg + xhr.status + " " + xhr.statusText );
      }
    });
    </script>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.