Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend ils -l to show system metadata about collections #7790

Open
tedgin opened this issue Mar 29, 2023 · 9 comments
Open

Extend ils -l to show system metadata about collections #7790

tedgin opened this issue Mar 29, 2023 · 9 comments

Comments

@tedgin
Copy link

tedgin commented Mar 29, 2023

One of our users has requested that the ils -l be extended show system metadata about collections. Maybe COLL_OWNER_NAME, COLL_OWNER_ZONE, and COLL_MODIFY_TIME values could be added to the output and displayed in a way that is similar to the corresponding data object values are displayed.

@korydraughn korydraughn transferred this issue from irods/irods_client_icommands Jun 12, 2024
@alanking alanking added this to the 4.3.4 milestone Jun 12, 2024
@trel
Copy link
Member

trel commented Jun 13, 2024

We have been hesitant to edit the output / layout of ils for a long time since many scripts originally parsed the output.

To avoid that being a problem... we could introduce a new option to print more collection information - perhaps... -C?

Can you propose a possible output format for us to react to?

@tedgin
Copy link
Author

tedgin commented Jun 13, 2024

Here's a way it could work. Following the form of ils -A, add two indented lines immediately below the collection path in the output. One line would show the owner name and zone, and the second would show the time of last modification. Here's the form:

/path/to/collection:
        Owner - owner-name#owner-zone
        Modified - modify.time
  data-object-1
  ⋮
  data-object-n
  C- /path/to/collection/member-collection-1
  ⋮
  C- /path/to/collection/member-collection-m

Here's an example:

prompt> ils -C
/iplant/home/tedgin:
        Owner - tedgin#iplant
        Modified - 2024-04-11.14:23
  RFHS-deployment.gan
  C- /iplant/home/tedgin/analyses

Here's an an example when combined with the -A, and -L options:

prompt> ils -ALC
/iplant/home/tedgin:
        Owner - tedgin#iplant
        Modified - 2024-04-11.14:23
        ACL - anonymous#iplant:read object   bisque#iplant:read object   tedgin#iplant:modify object
        Inheritance - Disabled
  tedgin            0 CyVerseRes;hugoBroker;hugo        13891 2023-11-20.11:32 & RFHS-deployment.gan
    15af146b4ca714ed8cde683ebd79b26b    generic    /irods_vault/home/tedgin/RFHS-deployment.gan
        ACL - g:rodsadmin#iplant:own   tedgin#iplant:own   
  tedgin            1 taccRes;corral4        13891 2023-11-20.11:32 & RFHS-deployment.gan
    15af146b4ca714ed8cde683ebd79b26b    generic    /corral/irods/iplant/Vault/home/tedgin/RFHS-deployment.gan
        ACL - g:rodsadmin#iplant:own   tedgin#iplant:own
  C- /iplant/home/tedgin/analyses

@trel
Copy link
Member

trel commented Jun 13, 2024

I like it.

What do you use owner for? Rather than the multi-owner permissions in the ACLs?

@tedgin
Copy link
Author

tedgin commented Jun 13, 2024

I'm not certain what this user use's the owner for. It's nice to know who the owner of collection or data object is, because this account can always modify its permission level on that collection or data object even if the account has no permission on it.

@trel
Copy link
Member

trel commented Jun 13, 2024

I think that is no longer true... but we can compare notes.

@korydraughn
Copy link
Collaborator

... because this account can always modify its permission level on that collection or data object even if the account has no permission on it.

As @trel said, that's no longer the case in 4.3. If the permissions for the user who created the collection are removed, they will not be able to restore them. Only a rodsadmin can restore them.

@trel
Copy link
Member

trel commented Jun 13, 2024

4.3.1 ... #6579

@tedgin
Copy link
Author

tedgin commented Jun 14, 2024

Now that owner has no purpose other than to identify the user account that originally created the collection or data object, I see no reason to display a collection owner other than to be consistent with ils -l showing a data object's owner. The term "owner" is now a misnomer. Maybe "creator" would be a better term to describe it. If you decide to display the collection owner as part of an ils -C output, maybe it should be labeled Creator to be less confusing to users.

/path/to/collection:
        Creator - owner-name#owner-zone
        Modified - modify.time
  data-object-1
  ⋮
  data-object-n
  C- /path/to/collection/member-collection-1
  ⋮
  C- /path/to/collection/member-collection-m

@trel
Copy link
Member

trel commented Jun 14, 2024

Agreed that owner doesn't help much... I think we would just add time at this point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants