Skip to content

Add Bulk Tagging on new Files app [28+]聽#45935

Description

@luluwebmaster

How to use GitHub

  • Please use the 馃憤 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
Hello everyone,

Since my recent update to Nextcloud 28, I鈥檝e noticed a change in the file tagging functionality. Previously, I had the ability to tag multiple files simultaneously, but this feature seems to have disappeared since the update. This limitation is causing an inconvenience as I frequently use the tagging feature to organize my files.

Describe the solution you'd like
I would like to have the ability to tag multiple files simultaneously reinstated in Nextcloud 28.

Describe alternatives you've considered
Currently, the only alternative is to tag files individually, which is time-consuming and less efficient.

Additional context
Has anyone else encountered this issue? Is it a new feature introduced in version 28, or is it potentially a bug? If anyone has information on this matter or has found a solution, I would appreciate it if you could share. Otherwise, can we consider reporting this as a potential issue to the development team?

Thank you in advance for your responses and assistance!

Activity

  1. scintillae commented on Jun 17, 2024

    @scintillae

    I see no way to give a reaction to this (it simply isn't an option presented to me).

    However, bulk tagging ability is an important functionality of Nextcloud file management, and I believe it needs to be repaired and supported.

  2. luluwebmaster commented on Jun 17, 2024

    @luluwebmaster
    Author

    I just added it. It should be good now.

    This is also an option that I would like to find again !

  3. moritzthecat commented on Jun 29, 2024

    @moritzthecat

    absolutely required feature ...
    example: discuss a set of files for review. together with comments a must have for collaborative work esp. on set of many files, like photos.

  4. kesselb commented on Jun 29, 2024

    @kesselb
    Contributor
  5. artonge commented on Jul 1, 2024

    @artonge
    Collaborator

    I guess it is a regression from the migration to vue.
    Pull requests are welcome. It should be much easier than before to add this to the Files app :).

    Steps would be:

    1. Implement the exec and execBatch methods of the systemtag action:
      export const action = new FileAction({
      id: 'system-tags',
      displayName: () => '',
      iconSvgInline: () => '',
      enabled(nodes: Node[]) {
      // Only show the action on single nodes
      if (nodes.length !== 1) {
      return false
      }
      const node = nodes[0]
      const tags = getNodeSystemTags(node)
      // Only show the action if the node has system tags
      if (tags.length === 0) {
      return false
      }
      return true
      },
      exec: async () => null,
      async renderInline(node: Node) {
      // Ensure we have the system tags as an array
      const tags = getNodeSystemTags(node)
      if (tags.length === 0) {
      return null
      }
      const systemTagsElement = document.createElement('ul')
      systemTagsElement.classList.add('files-list__system-tags')
      if (tags.length === 1) {
      systemTagsElement.setAttribute('aria-label', t('files', 'This file has the tag {tag}', { tag: tags[0] }))
      } else {
      const firstTags = tags.slice(0, -1).join(', ')
      const lastTag = tags[tags.length - 1]
      systemTagsElement.setAttribute('aria-label', t('files', 'This file has the tags {firstTags} and {lastTag}', { firstTags, lastTag }))
      }
      systemTagsElement.append(renderTag(tags[0]))
      // More tags than the one we're showing
      if (tags.length > 1) {
      const moreTagElement = renderTag('+' + (tags.length - 1), true)
      moreTagElement.setAttribute('title', tags.slice(1).join(', '))
      systemTagsElement.append(moreTagElement)
      }
      return systemTagsElement
      },
      order: 0,
      })
    2. In those methods, open a modal displaying a form allowing the user to pick tags. Example from the new node action:
      spawnDialog(NewNodeDialog, {
      ...labels,
      defaultName,
      otherNames: contentNames,
      }, (folderName) => {
      resolve(folderName as string|null)
      })
      })
    3. Then update the chosen tags with
      export const setTagForFile = async (tag: TagWithId | ServerTagWithId, fileId: number): Promise<void> => {
      const path = '/systemtags-relations/files/' + fileId + '/' + tag.id
      const tagToPut = formatTag(tag)
      try {
      await davClient.customRequest(path, {
      method: 'PUT',
      data: tagToPut,
      })
      } catch (error) {
      logger.error(t('systemtags', 'Failed to set tag for file'), { error })
      throw new Error(t('systemtags', 'Failed to set tag for file'))
      }
      }
  6. added
    1. to developAccepted and waiting to be taken care of
    and removed
    0. Needs triagePending check for reproducibility or if it fits our roadmap
    on Aug 9, 2024
  7. changed the title [-]Issue with Bulk Tagging since Nextcloud 28 Updat[/-] [+]Add Bulk Tagging on new Files app [28+][/+] on Sep 18, 2024
  8. added
    good first issueSmall tasks with clear documentation about how and in which place you need to fix things in.
    on Sep 26, 2024
  9. nousernameavailableanymore commented on Sep 28, 2024

    @nousernameavailableanymore

    In which version will this be added again?

  10. added this to the Nextcloud 31 milestone on Oct 2, 2024
  11. self-assigned this
    on Oct 8, 2024
  12. assigned and unassigned on Oct 8, 2024
  13. added and removed
    1. to developAccepted and waiting to be taken care of
    on Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions