Skip to content

Improvements for categories #89

Description

@spoorun

Nextcloud has a tagging system.
'Categories' are tags, and should sync with that system.

The benefits would be:

  1. Users managing different types of data (such as tasks, contacts, messages, files) would use the same sets of tags (including shared tags) to organise that data,
  2. and in future be able to find that data by global searches.
  3. It would make shared data management more consistent too.
  4. The UI for tags would be consistent across apps (and that could be improved), and it would be more efficient - Users shouldn't need to learn endless different UIs and modes of operation to carry out the same task (using tags) within a single system (Nextcloud).

Activity

  1. raimund-schluessler commented on Jul 22, 2017

    @raimund-schluessler
    Member

    I will use this issue to collect all the improvements requested for categories:

  2. changed the title [-]Use Nextcloud tag system for Categories[/-] [+]Improvements for categories[/+] on Jul 22, 2017
  3. websafe commented on Feb 2, 2018

    @websafe

    @raimund-schluessler any update on this enhancement?

  4. udolee commented on Apr 23, 2018

    @udolee

    Tasks is so good! One question, is there a way to sort by categories? Thanks!

  5. GambaJo commented on Jan 29, 2020

    @GambaJo

    Yap, this is very pitty. I miss this feature too.

  6. klawdhfzasjhaa commented on Mar 21, 2020

    @klawdhfzasjhaa

    Tasks is so good! One question, is there a way to sort by categories? Thanks!

    Additionally, it would be great to filter by category.

  7. duesseldorferjung commented on May 25, 2020

    @duesseldorferjung
  8. GambaJo commented on May 25, 2020

    @GambaJo
  9. abers commented on Aug 15, 2020

    @abers

    Yeah, i miss also the feature of filtering by category. And the category tags being also links to that filtering.

    I came to the git repo to see if anyone had requested this feature already. Do you know why it was removed? It'd be great if could view list of categories in left-hand panel, filter by category, and view all tasks tagged with a category. Would replicate the main features from Tasks.org (mobile app I sync tasks with) that are currently missing from Tasks.

  10. raimund-schluessler commented on Aug 15, 2020

    @raimund-schluessler
    Member

    Yeah, i miss also the feature of filtering by category. And the category tags being also links to that filtering.

    I came to the git repo to see if anyone had requested this feature already. Do you know why it was removed?

    It was not removed. It was never available in the first place.

    And you can filter by category. Just type the category name in the search box at the top right.

  11. jay3-3 commented on Sep 15, 2020

    @jay3-3

    And you can filter by category. Just type the category name in the search box at the top right.

    That is not filtering per category, if you search for example with "category" on the search box you will see everything containing "category" on title, description... Not only in the category field.

    IMHO a nice improvement would be the possibility to filter with categories (more than one). This is already working with tags in files.

  12. klawdhfzasjhaa commented on Dec 10, 2020

    @klawdhfzasjhaa

    Perhaps, this helps: nextcloud/cookbook#375

  13. MaggiWuerze commented on Mar 17, 2021

    @MaggiWuerze

    Please also have a look at #1453, it's a proper ticket for what @javisomoza asked for

  14. caemor commented on Jul 26, 2021

    @caemor
    * [ ]  Allow adding categories / tags by hashtagging in the title ([[Feature Request] Hashtag tagging of new entries #42](https://github.com/nextcloud/tasks/issues/42))
    

    Was there any work done into this direction already? And if not is there an easy way to add this and someone could point me into the right direction to start this?
    If possible I would like to look into an option to set some easy dates at the same time, e.g. today, tomorrow, monday-sunday,... will add the corresponding day as due day

  15. raimund-schluessler commented on Jul 27, 2021

    @raimund-schluessler
    Member

    New tasks are created here:

    tasks/src/store/tasks.js

    Lines 708 to 783 in 4346ae4

    async createTask(context, taskData) {
    if (!taskData.calendar) {
    taskData.calendar = context.getters.getDefaultCalendar
    }
    // Don't try to create tasks in read-only calendars
    if (taskData.calendar.readOnly) {
    return
    }
    const task = new Task('BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Nextcloud Tasks v' + this._vm.$appVersion + '\nEND:VCALENDAR', taskData.calendar)
    task.created = ICAL.Time.now()
    task.summary = taskData.summary
    task.hidesubtasks = 0
    if (taskData.priority) {
    task.priority = taskData.priority
    }
    if (taskData.complete) {
    task.complete = taskData.complete
    }
    if (taskData.note) {
    task.note = taskData.note
    }
    if (taskData.due) {
    task.due = taskData.due
    }
    if (taskData.start) {
    task.start = taskData.start
    }
    if (taskData.allDay) {
    task.allDay = taskData.allDay
    }
    if (taskData.related) {
    task.related = taskData.related
    // Check that parent task is not completed, uncomplete if necessary.
    if (task.complete !== 100) {
    const parent = context.getters.getParentTask(task)
    if (parent && parent.completed) {
    await context.dispatch('setPercentComplete', { task: parent, complete: 0 })
    }
    }
    }
    const vData = ICAL.stringify(task.jCal)
    if (!task.dav) {
    const response = await task.calendar.dav.createVObject(vData)
    Vue.set(task, 'dav', response)
    task.syncStatus = new SyncStatus('success', t('tasks', 'Successfully created the task.'))
    context.commit('appendTask', task)
    context.commit('addTaskToCalendar', task)
    const parent = context.getters.getTaskByUid(task.related)
    context.commit('addTaskToParent', { task, parent })
    // In case the task is created in Talk, we don't have a route
    // Only open the details view if there is enough space or if it is already open.
    if (context.rootState.route !== undefined && (document.documentElement.clientWidth >= 768 || context.rootState.route?.params.taskId !== undefined)) {
    // Open the details view for the new task
    const calendarId = context.rootState.route.params.calendarId
    const collectionId = context.rootState.route.params.collectionId
    if (calendarId) {
    router.push({ name: 'calendarsTask', params: { calendarId, taskId: task.uri } })
    } else if (collectionId) {
    if (collectionId === 'week') {
    router.push({
    name: 'collectionsParamTask',
    params: { collectionId, taskId: task.uri, collectionParam: '0' },
    })
    } else {
    router.push({ name: 'collectionsTask', params: { collectionId, taskId: task.uri } })
    }
    }
    }
    return task
    }
    },

    You can parse the summary and set categories and dates in this function.

  16. hoshi411 commented on Sep 11, 2023

    @hoshi411

    Yeah, i miss also the feature of filtering by category. And the category tags being also links to that filtering.

    I came to the git repo to see if anyone had requested this feature already. Do you know why it was removed?

    It was not removed. It was never available in the first place.

    And you can filter by category. Just type the category name in the search box at the top right.

    that requires you to know / remember what tags you have made. It is especially tricky if you use emoji for your tags. Best practice UX is to provide a list of tags somewhere (as every other GTD / TASK app does by default) .

    Basic operation is the ability to filter by clicking on tags and even multiple tags. These are common fundamentals.

  17. hoshi411 commented on Sep 11, 2023

    @hoshi411

    And you can filter by category. Just type the category name in the search box at the top right.

    That is not filtering per category, if you search for example with "category" on the search box you will see everything containing "category" on title, description... Not only in the category field.

    IMHO a nice improvement would be the possibility to filter with categories (more than one). This is already working with tags in files.

    This comment needs to be bumped up to the top priority.

  18. raimund-schluessler commented on Dec 30, 2023

    @raimund-schluessler
    Member

    Extracting tags from the summary was just added in #2425.

  19. raimund-schluessler commented on Jan 1, 2024

    @raimund-schluessler
    Member

    Filtering by tags was implemented in #2427 and will be released with v0.16.0.

    I will close this issue, since the main features discussed here were implemented and the remaining requests have their own tickets. Please speak up or open a new issue if you think that a feature request got lost.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions