Add Swift object COPY function as one of row actions

Registered by Keiichi Hikita on 2018-01-30

Name:
swift-object-copy-function

Title:
Add Swift object COPY function as one of row actions

Summary:

Summary
=======

This blueprint is for adding Swift object COPY function.
Lately Python UI is going to depricate, so this blueprint will for adding Angular version COPY function.

Motivation
========

Swift object which size is 5GB or less can be copied as other container/object.
But current Horizon ``container`` application does not have this function.
So this change will enhance convinience of swift/horizon user.

Description
=========

- New row_action ``COPY`` will be added by this blueprint.
- User can input COPY target ``container`` and ``object`` name and then COPY API will
  be called asynchronously from Angular page.
- In swift specification, object which size is over 5GB is not allowed to be copied.
    - In case object size exceeds 5GB, object will be uploaded into different container
      named with ``_segments`` and object data will be stored into it.
    - Object itself will be create as 0byte size object and only has metadata of it.
    - So it is difficult to use ``object size`` directly as ``allowed`` method condition.
      (Because main object always point 0GB size)
        - By above reason for this blueprint, new COPY function
          will use the condition whether size is 0 or not insted of value ``5GB`` .

UX
===
Similar to current implementation of other kind of single page angular application.
This new page should have 2 fields as follows.
- COPY target container name input field.
- COPY target object name input field.

Testing
======
Standard JS unit testing

Outside Dependencies
==================
N/A

Requirements Update Required
========================
N/A

Doc Impact
=========
N/A

Blueprint information

Status:
Complete
Approver:
Ivan Kolodyazhny
Priority:
Low
Drafter:
Keiichi Hikita
Direction:
Approved
Assignee:
Keiichi Hikita
Definition:
Approved
Series goal:
Accepted for 14.0.0-rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-1
Started by
Keiichi Hikita on 2018-02-07
Completed by
Ivan Kolodyazhny on 2018-03-28

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.