wekan / wekan

The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://app.transifex.com/wekan/wekan only.
https://wekan.github.io
MIT License
19.43k stars 2.82k forks source link

Add feature: Custom Fields #807

Open xet7 opened 7 years ago

xet7 commented 7 years ago

From @xet7 on January 10, 2017 16:50

Similar to Trello feature: http://blog.trello.com/trello-custom-fields

Existing discussion at original Wekan forum: https://discuss.wekan.io/t/any-way-to-add-new-data-on-cards/362/2

This wish is from original Wekan Gitter user @TutloTutlo

I did not find any existing pull request for this yet from original Wekan.

Wefork already has Due Date, so this new feature Custom Fields is separate from that.

If somebody has more information about this, please add it so it's ready here when somebody starts implementing this.

This issue is related to #43 and making Wekan programmable.

Copied from original issue: wefork/wekan#61

xet7 commented 7 years ago

From @ehausen on January 24, 2017 21:14

In Trello custom fields are kind of a hack and only available per board. I'm thinking a better logic would be to define Card Types - like content types! This would very handy: Project card type, a Contact card type (for CRM purposes), etc...

Looking at Trello... Please someone (or me later) continue

xet7 commented 7 years ago

From @tugal on January 25, 2017 15:0

Hi

i agree @ehausen, card types would be really interesting, letting every users to customize their card..

xet7 commented 7 years ago

From @ehausen on January 25, 2017 15:4

Well I was actually thinking more along the lines of defining these at team or organization level - when there will be implemented. Probably the best would be to have permission where the admin can define which roles can do what.

Abacaxi-Nelson commented 7 years ago

Hi,

I'm trying to develop it.

Design Add new menu entry (I'm actually planning in provide a list of available custom field names)

capture d ecran 2017-02-09 a 10 17 48 capture d ecran 2017-02-09 a 10 18 27

Then, display it (quick UI only to POC)

capture d ecran 2017-02-09 a 10 19 49

Is it what we need ? thanks,

jLouzado commented 7 years ago

@tugal yup, this looks awesome. :)

A few thoughts though:

xet7 commented 7 years ago

@tugal @jLouzado

Can you look at Wekan forum https://discuss.wekan.io/ and search these Wekan github issues and mention them with @ github name? So we could get more info what is required? I have not used Custom Fields and didn't read description of it.

xet7 commented 7 years ago

@tugal @jLouzado Please work on this together, and then submit pull request to Wekan devel branch.

jLouzado commented 7 years ago

@tugal please DM me on wekan chat and we can take it forward. :)

Abacaxi-Nelson commented 7 years ago

Hi

The 'Custom field' title seems redundant, instead it could just be the field name as the h3 and the value below it.

In my mind, the first field (CustomFieldName) should be a select, where the user can select a predefined custom field, and then the second field is its value

What's the limit on number of custom fields that can be created?

No limit, since a Card have X custom fields (i think, we should create a new Collection to store that information)

I checked : http://blog.trello.com/trello-custom-fields. Maybe we should start small : to be trello-like, we need an Admin Ui to build all customs fields, and finally a new entry in card's menu

Where can we add new UI to create customs field ?

jLouzado commented 7 years ago

@tugal come online on the wekan channel, we'll discuss it further if that's okay with you? https://chat.vanila.io/channel/wekan

I think a good place to start would be to see the code you've already written first? Then we can add what's missing.

Abacaxi-Nelson commented 7 years ago

@jlouzado : i will joint you later.

Î am trying to copy Trello. It's ok for thé UI, but i struggle on the new modèl to create.

Is someone able to Help me or available to develop this pièce ?

Thanks

jLouzado commented 7 years ago

@tugal can you share the code you have so far? either your repo directly or else you can create a pull-request.

Abacaxi-Nelson commented 7 years ago

Hi,

It's a work in progress : https://github.com/tugal/wekan The model piece is quite complicated for a meteor newbie like me :)

xet7 commented 7 years ago

@tugal @jLouzado

Can you look is any code from this pull request useful? https://github.com/wekan/wekan/pull/413

It currently has some conflicts.

Abacaxi-Nelson commented 7 years ago

@xet7 : Do you want us to check this PR ? this one is not related to custom fields

xet7 commented 7 years ago

@tugal

In that PR is adding of manHour, which is like added Custom Fields, but otherwise it's not related. If it does not have anything you need in your Custom Fields implementation, just ignore it for now.

jLouzado commented 7 years ago

@tugal I think I might be able to help you out with the model; just taking a look at this today. :slightly_smiling_face:

ChangePlaces commented 7 years ago

Any update on this? Awesome absolutely essential feature for real-world use!

jLouzado commented 7 years ago

@ChangePlaces didn't realize it was such a desired feature... will work on it next week. :)

xet7 commented 7 years ago

https://github.com/wekan/wekan/pull/1063 has code related to this, but there is merge errors.

jonculver commented 7 years ago

Is there any news on this? I'd love to try out wekan and this feature is a must-have for my usecase. It looks like #1063 has been closed but I'm not sure if a new pull request has been made yet?

xet7 commented 7 years ago

@jonculver

Current pull request for Custom Fields is https://github.com/wekan/wekan/pull/1079

It still has merge errors.

xet7 commented 7 years ago

Moved to here from #1115

papoola commented 7 years ago

Guys any update regarding this precious beautiful feature request ? Is there something I could do to speed up the process?

xet7 commented 7 years ago

@papoola

https://github.com/wekan/wekan/wiki/FAQ#will-my-feature-request-be-implemented

@jLouzado

Did you do any planning or coding for this feature, can you share those as work in progress pull request so you or somebody else can continue?

xet7 commented 7 years ago

@papoola has implementing this in progress, see Roadmap

papoola commented 7 years ago

Hi, inspired by @tugal 's code I spent hours today to find my way through code and to do my first commit: https://github.com/papoola/wekan

jLouzado commented 7 years ago

@papoola thank you so much for taking this up, I've just not been able to give time to the project these last few months... if you get stuck please let me know, and if i get time over the next week I'll go through your commit.

papoola commented 7 years ago

Dear @jLouzado you are welcome. It's a pleasure to be part of this. I sure would need your help from time to time. Previously I had to search alot until I found about publications github.com/papoola/wekan/blob/feature-custom-fields/server/publications/boards.js#L77 I'm new to meteorjs

papoola commented 6 years ago

Just to give you an update on this feature dear friends. So far dropdown string date number fields are supported. Once I finish checkbox I might need someone to help to test and debug

jLouzado commented 6 years ago

Sure thing, please share a link to your branch if you like.

On Oct 14, 2017 5:16 AM, "Pouyan Savoli" notifications@github.com wrote:

Just to give you an update on this feature dear friends. So far dropdown string date number fields are supported. Once I finish checkbox I might need someone to help to test and debug

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wekan/wekan/issues/807#issuecomment-336591782, or mute the thread https://github.com/notifications/unsubscribe-auth/AB7FrYdftSTLCYiNKaGU045q35quOJu4ks5sr_ZkgaJpZM4L6N4q .

Creanimo commented 6 years ago

I am really excited for this! Will custom fields also show on the card in the board view not just in the details?

Creanimo commented 6 years ago

Also, you might want to checkout zenkit.com, which is the kanban king of custom fields. It can display and sort all kinds of things based on custom fields and there even is a custom field to link cards and field entries from other cards from other boards allowing for some very powerful big to small nesting of boards. Custom fields in Zenkit: https://www.youtube.com/watch?v=O5J4w8f4Bz8 I like their label field a lot, so you can have multiple kinds of labels. I guess that's what we will use dropdown for?

papoola commented 6 years ago

Hi all. @Creanimo thanks for your input. So far this feature that I am building is similar to Trello's one at mentioned by @xet7 at very top of this page. Yes idea is to show also on the mini card (configurable per field like in Trello). I have tried zenkit in the past but I will watch the video to refresh my mind. Thanks!

Lot of work is already done, but still need to add one more custom field type (checkbox) and still haven't got chance to do it. I also saw #1022 from @mfshiu hope we are not both doing the same thing!

@jLouzado could you please pull my current code from here https://github.com/papoola/wekan/tree/feature-custom-fields and give me your thoughts. It's still not finished but I like to know we are all aligned. Everyone else feel free to try out the code. All idea's and suggestions are welcome but for now please keep it at minimum so we can wrap up this feature ( so without other fancy custom field types and sorting etc ). After this one is merged, other nice to haves could follow in next features.

xet7 commented 6 years ago

@papoola

Does your Custom Fields work without that checkbox field type?

Can you submit your current version to Wekan devel branch as pull request, and add checkbox field type later?

xet7 commented 6 years ago

"This branch is 8 commits ahead, 235 commits behind wekan:devel. "

I hope those can be still added as clean pull request to current version, without all merges etc and release tags.

xet7 commented 6 years ago

I prefer to wait @jLouzado and @mfshiu for comments and testing as I have already done 3 releases today, that's really too fast, as I need to also wait comments to this https://github.com/wekan/wekan/pull/1352

papoola commented 6 years ago

@xet7 no worries I can take care of clean pull request ( using rebase ). Custom field works without checkbox also. But code needs some more testing before merging. Yes lets wait for @jLouzado and @mfshiu comments. Good luck with your releases!

xet7 commented 6 years ago

@papoola

When I tried merging your Custom Fields to newest Wekan, then when I click card on Wekan, card does not open.

marbetschar commented 6 years ago

would love to see custom fields in Wekan too 😍😍😍

feuerball11 commented 6 years ago

Is this still in development? @papoola seems to have done a lot for custom fields, but stopped late 2017. On the Roadmap it seems that @xet7 want to take over this. Youre planing to make it from new, or work on the base of @papoola? K/R Ignatz

xet7 commented 6 years ago

@feuerball11

That work by @papoola has most of the Custom Fields feature implemented, only merge conflicts need to be fixed. Anyone can help by making clean pull request of it, and help is very welcome for all Wekan issues, because it makes progress faster for all of Wekan users on all Wekan platforms when there is more contributors. I have long term plan to fix and implement everything, that's why I added it to my todo list, but I only work on one feature at a time.

feuerball11 commented 6 years ago

Thanks. I took a look at the code and the conflicts, and I was able to bring up a version with the custom fields (Merge Conflicts was mainly copy/paste stuff). However, it seems that the checkboxes dont work for me. I Still have no idea from the code (or even meteor). What should i do now? Create a pull request with what i merged, and we open a issue for the checkbox (and what else might appear, i didnt test in-depth, couse i'm new to wekan, too ^^) or should i try to figure out whats broken, and fix it, with the potential that i never get it finishd? (Mergin the current state would be better then having no custom fields at all, right?)

I will try to figure out what the problem is, and maybe even try to code the custom fields into search and filter, but that can take time, and i may never finish that.

K/R Ignatz

xet7 commented 6 years ago

@feuerball11

Nice :+1: Checklists have changed so that Checklist Items have been moved to other "table" to make drag-drop sorting easier. You don't need to have any idea about code or meteor, just look at these files and make some changes, you most likely end up adding Custom Fields to Wekan :slightly_smiling_face:

https://github.com/wekan/wekan/blob/devel/models/checklists.js https://github.com/wekan/wekan/blob/devel/models/checklistItems.js https://github.com/wekan/wekan/blob/devel/server/migrations.js

feuerball11 commented 6 years ago

@xet7 I didnt mean the checklist. But the checkbox CustomField Type. But as far as i understand the code, this feature wasnt build. So i'll remove checkbox types from the selection, and will commit that. Then customFields with Text,Date,Number and Dropdown would be implemented, and i can learn how to build a customField for checkboxes ^^

I'll do a pullrequest when i'm done.

And please, i didnt do anything to custom fields, all the hard work was done by @papoola. I just finish what he had started.

xet7 commented 6 years ago

@feuerball11

Yes, that's correct, checkbox CustomField wasn't built. Having all the others in Wekan is already good first step, you can add pull request. Thanks!

feuerball11 commented 6 years ago

@xet7

Found one problem:

THe layout of the detail view from the card is a bit strange now. I'm trying to figure out where to look, and why it happens.

image

If you want to see for yourself, my current dev test is on: https://maschath.de/wekan-dev

xet7 commented 6 years ago

That Custom Fields feature was done before Received and End dates were added: https://github.com/wekan/wekan/pull/1550

So most likely some old code is overwriting new Received and End dates layout. You can check where it is, and take away those old overwriting changes.

feuerball11 commented 6 years ago

Okay, It took me a few attempts, but I seem to have solved the issues with the styling. Thanks for the tips. Now I only need to figure out how that with the pull request works ^^

xet7 commented 6 years ago

Login to your GitHub account (or create new), and create fork of https://github.com/wekan/wekan to your own account: https://help.github.com/articles/fork-a-repo/

Then clone your repo, copy those changed files, add and commit and push them, and then at GitHub web interface click Create Pull Request https://help.github.com/articles/creating-a-pull-request/