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

Initial commit of new magical-parameters-feature #20

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

manne65-hd
Copy link
Collaborator

@manne65-hd manne65-hd commented Mar 29, 2020

Hey Craig,
I really like this plugin and funny enough, while testing it I had the same idea, that you have mentioned over here some time ago

I actually don't like the fact that you can't create 4 subtasks with 4 different assignees.

So here's my approach to solve this (and even add some more features)
While retaining the current input-form, when creating AutoSubtasks I have added what I call "magical" parameters, that can be used on each line to overwrite any of these 2 or 3 parameters :

  • Assignee
  • Estimated hours
  • Duration in days (depending on the coexistance of the Subtaskdate-plugin)

What are "magical" parameters?
These parameters can (optionally) be prepended to each line by wrappping them into curly braces:

  • {u:user-id} assigns that subtask to the user with that user-.id
  • {h:estimated-hours} assigns individual estimated hours to that subtask
  • {d:duration-in-days} assigns individual duration-days to that subtask
  • Any combination of the 3 parameters can be used

Pictures are worth a thousand words
The new options are explained, when hovering the mouse over the INFO-icon ...
AutoSubTask-with-magic-01

Task with matching category with the SubTasks created by the automatic action
AutoSubTask-with-magic-02

ToDo

  • I did quite some testing, but maybe others (you ?) are also willing to test this ...
  • Need to add checks, to avoid assigning subtasks to users that cannot access that board
    • In this case I would assign the task to the default assignee
  • Whatever else I may have forgotten

Looking forward to hear what you think of my idea.

@creecros
Copy link
Owner

I'll test this week. Thanks for putting the time into this.

@creecros
Copy link
Owner

Ok, tested. Works as advertised.

Yes, you need to add checks for users who do not have perms in the project.

I would also add a check for if someone appends the magical params instead of prepends, appending causes issues.

Othwerwise, i think this is a great solve, and appreciate the work put into it.

if you need assistance with the checks, or anything, just let me know.

@manne65-hd
Copy link
Collaborator Author

I am currently working on the ToDos ... will be back soon with an updated commit :-)

@manne65-hd
Copy link
Collaborator Author

Here we go :-)

I think this should be working well.

Yes, you need to add checks for users who do not have perms in the project.

Checks added - If "magic" user has no access .. subtask is assigned to default assignee

I would also add a check for if someone appends the magical params instead of prepends, appending causes issues.

Added that too
I even like the idea of appending more than prepending, because that looks nicer to me, while composing the subtasks with magical-params.
So I changed the online-help to promote appending, while prepending still works too

Othwerwise, i think this is a great solve, and appreciate the work put into it.

Thanks
I also like it, because it keeps the interface clean for those not needing the extra magic, but provides full power if one is willing to use it :-)

New helpers
I also added some helpers to handle some of the magic there instead of inside the actions themselves.
This has already reduced my need to use an extra params.php-file because the help is now rendered from a helper-method and contains individual help for both the vanilla / Subtaskdate-flavour

I have already prepared a local branch, where I reduced the need to register different actions for vanilla / Subtaskdate, but rather also handle the different needs, by using conditional parameter-assignments assisted by a helper-method.
If you are interested i can also commit that to this branch.

Looking forward to hear what you think

@creecros
Copy link
Owner

creecros commented Apr 1, 2020

@manne65-hd
I think it all sounds great. I would include the reduced need to register different actions as well.

I can't test today, I think someone at home unplugged my server, but will test next chance i get.

@creecros
Copy link
Owner

creecros commented Apr 1, 2020

@manne65-hd
added you as a collaborator as well, since my time these days are limited, and you seem willing to devote time.

@manne65-hd
Copy link
Collaborator Author

manne65-hd commented Apr 1, 2020

@manne65-hd
added you as a collaborator as well, since my time these days are limited, and you seem willing to devote time.

Hey Craig,
what exactly does collaborator mean?
I have in fact just started to work with git and github about 1 week ago, so I am still a greenhorn.

Does it mean I will have commit access to the main repository ??
https://github.com/CoolProp/CoolProp/wiki/Contributors-vs-Collaborators

O.K. Found it now ...

Challenge accepted :-)

@creecros
Copy link
Owner

creecros commented Apr 1, 2020

yes, it means you can commit directly to the repo, merge pull requests, close issues, make releases, etc...you have full access.

@manne65-hd
Copy link
Collaborator Author

O.K. merged my branch that removes the last bits of separate "vanilla"-files

Do you want me to merge this into the base branch or should I wait until you have tested?

@creecros
Copy link
Owner

creecros commented Apr 1, 2020

@manne65-hd

Depends on your confidence level. ;)

Do you know how to make a release and update the kanboard/website?

@@ -40,7 +39,7 @@ public function getPluginVersion()
{
return '2.1.0';
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

up version to 2.2.0

@manne65-hd
Copy link
Collaborator Author

Depends on your confidence level. ;)

I am pretty tired now, so I'd better wait until tomorow :-)

Do you know how to make a release and update the kanboard/website?

Yes .. I already did that with my first plugin
https://github.com/manne65-hd/Kanboard-SortBoardByDates

Which sort of Merge pull would you prefer ( merge commit / squash / rebase ) ?
I actually think In understood the first 2, but rebase is still a bit beyond me

As this is the first commit of a whole new feature I'd go for squashing it into one commit.

What do you think?

@creecros
Copy link
Owner

creecros commented Apr 1, 2020

I always just do merge, never done the others to offer advice.

@manne65-hd
Copy link
Collaborator Author

I am facing some challenges with the Do not duplicate subtasks-option, because with the introduction of the magical parameters this has gotten a bit more "tricky".

I am working on it, and am confident to find a solution :-)

Just wanted to let you know, that I am still working on this.

@creecros
Copy link
Owner

You ever finish this? just noticed this got left unmerged. I have no idea where you left off.

@manne65-hd
Copy link
Collaborator Author

You ever finish this? just noticed this got left unmerged. I have no idea where you left off.

Hey Craig,
I must admit, that I have been very busy with other things and kind of forgot this project.
Somehow I also missed out on the notification-mail github sent me in February ...

Funny enough, I have just re-entered the "kanboard-world", because we will start making extended use of it in my company.
I hope that I can soon dedicate some time to pick this one up again and finish the work.

All the best,
Manfred

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

Successfully merging this pull request may close these issues.

2 participants