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: Calendar View #808

Closed xet7 closed 5 years ago

xet7 commented 7 years ago

From @xet7 on January 10, 2017 17:8

Wish originally from @TutloTutlo

It's this Trello feature: http://help.trello.com/article/811-viewing-cards-in-a-calendar-view http://blog.trello.com/enable-trello-calendar-mode

There's also possibility use Trello with Google Calendar: http://help.trello.com/article/829-using-trello-with-google-calendar

This will include CalDav support. Resource: Introducing CalDav

In Sandstorm Wekan could work with some Sandstorm calendar app instead.

Copied from original issue: wefork/wekan#62

phillc73 commented 7 years ago

Related to #424

I think CalDAV support would provide the most flexibility.

Resource: Introducing CalDav

68040 commented 7 years ago

A calendar view is urgently missing. :+1: :+1:

Exactly like the blog-article you've linked to.

steven-tib commented 7 years ago

+1 for the calendar view! I just discovered it on trello and would be awesome to have it in Wekan (making it even greater!!!) It would open new perspectives for the use of wekan in two current projects.

68040 commented 7 years ago

It would open new perspectives for the use...

It's the main reason, why i can't use wekan in real life. 😞

p-baum commented 7 years ago

Easier than webdav would be to maintain an ics file. This could then be subscribed to from a multitude of clients (including android via icsdroid).

This would be the most useful implementation for me anyways.

Creanimo commented 7 years ago

+1 I urgently need a calendar view as well. I think a calendar (especially with drag and drop) could turn wekan into a very effective project management software.

I am quite new to github and I saw that sometimes people put a bounty on implementing features. Is this a possibility here?

xet7 commented 7 years ago

There's some setup of bountysource still going on, so please wait until I have configured it correctly.

xet7 commented 7 years ago

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

killua-eu commented 7 years ago

Also #1101 relevant to this issue.

xet7 commented 7 years ago

@Creanimo

Ok it's now possible to try to add bounty to: https://www.bountysource.com/teams/wekan

Please tell me does it work Ok.

killua-eu commented 7 years ago

It works ok. If there's a dev to pick this up, I'll follow through and throw in a "major" $10 bountysource to verify things right to the end.

xet7 commented 7 years ago

@killua-eu

Yes I (or somebody else in Wekan team) will implement those features that have bounties. Having a bounty raises priority a lot.

Please also add description how calendar view feature should work.

xet7 commented 7 years ago

I did also add Commercial Support to wiki, if somebody is interested in that: https://github.com/wekan/wekan/wiki

killua-eu commented 7 years ago

Hey @xet7 , I took your initial description of this issue and expanded it slightly in the first list-item below, taking into account what might be a problem or what usecases come to my mind. I also added other items that are too far beyond this ticket's scope, but are connected somehow.

Hope this paints the picture of a more complete time/scheduling implementation. If you'd like me to add more details just let me know.

killua-eu commented 7 years ago

And the bounty is here: https://www.bountysource.com/issues/41780513-add-feature-calendar-view , @xet7 , you're free to test the rest.

xet7 commented 7 years ago

@killua-eu

It seems that super-productivity does not have calendar yet (see issue above) but has many other nice features.

For calendar, there are some packages for meteor: https://atmospherejs.com/packages/calendar

For example: https://atmospherejs.com/fullcalendar/fullcalendar https://fullcalendar.io

I have not checked how many of required features it has.

killua-eu commented 7 years ago

Firstly I'd add

to the possible libraries to use. dhtmlx and fullcalendar are the two most prominently used ones imho, so that would be probably the best way to go. AFAIK fullcalendar doesnt have caldav support, but I guess none will have that. dhtmlx has a gplv2 version and i think is more polished, but i never used it in a project.

Creanimo commented 7 years ago

@killua-eu That is a very complete and helpful list you posted. It would be amazing if even a fraction of these features could be added!

Is there any dev here who wants to tackle this soon/next? I would rather hire someone who is already familiar with wekan.

killua-eu commented 7 years ago

@Creanimo, I developed an ERP that had all this and more included, so I may be having lots of ideas, some of them hopefully worthwhile for the wekan community (btw, if you like these features, you'll probably like #1160 as well).

If you'd join me in adding a bounty on this on bountysource (see above), I'll top up my bounty too - sofar I testpledged only $10. I'll also gladly provide further feature/architecture tips and experiences to anyone who may find them useful, even though I'm quite limited by not being familiar with most technologies wekan is built upon.

If you wanna go faster, please note that @xet7 also wrote up an article on commercial devrequests too on the wiki. I'd definitely be glad if wekan would move even faster as I grew quite fond of it.

xet7 commented 7 years ago

I started implementing this yesterday 2017-08-11.

At first I'm targeting for enough functionality to be usable.

STATUS 2017-08-12

DONE

TODO

1) Create standalone demo outside Wekan to combine these fullcalendar demos:

LOCALES: https://fullcalendar.io/js/fullcalendar-3.4.0/demos/locales.html TIMEZONE: https://fullcalendar.io/js/fullcalendar-3.4.0/demos/timezones.html TIME RANGES: https://fullcalendar.io/js/fullcalendar-3.4.0/demos/selectable.html (possible to enlarge or shorten time range by dragging) GOOGLE CALENDAR: https://fullcalendar.io/js/fullcalendar-3.4.0/demos/gcal.html (create similar URLs inside Wekan what fullcalendar shows) EXTERNAL EVENTS: https://fullcalendar.io/js/fullcalendar-3.4.0/demos/external-dragging.html (for dragging Wekan cards to board)

2) Create gcal/caldav URLs inside Wekan to show start and due dates.

Technically:

3) Calendar button shows screen that shows data from gcal/caldav URLs:

FEEDBACK WELCOME

If anyone has improvements to this design, please add comment to this issue.

killua-eu commented 7 years ago

Hey @xet7 , thanks for the update, sorry for the late reply. As for now, I'd probably generate gcal/caldav URLs live, as long as this feature is in flux, triggered updates might just leave bits here and there with wrong data. As for point 3, this hits a bit the limits of my imagination, should you have a screenshot at hand, the picture surely would paint a 1000 words.

Creanimo commented 7 years ago

I am very excited for this!

Will the calendar be able to show the cards of selected and all boards?

xet7 commented 7 years ago

@Creanimo

If possible, yes. I will update this issue as I get more progress.

Creanimo commented 6 years ago

Is there an ETA yet? O:-)

xet7 commented 6 years ago

@Creanimo

:D I really should try to continue this. When I have had free time for Wekan, there has been so many pull requests to test and merge, bugfixes to do, releases to do, etc so I probably forgot about this, so thanks for reminding :)

xet7 commented 6 years ago

I updated roadmap :)

h0jeZvgoxFepBQ2C commented 6 years ago

Yeah, please continue this :) I really need this feature :P

xet7 commented 6 years ago

Related Python calendar implementation by @LukasGasior1

https://discourse.wekan.io/t/sharing-my-calendar-integration-plugin/601

https://github.com/LukasGasior1/wekan-ical-server

Creanimo commented 6 years ago

Do you have an ETA for us? My pledge at bounty source has a 3 month deadline on it, but I will re-pledge should the deadline pass.

xet7 commented 6 years ago

@Creanimo

I was not aware of the deadline. Where I can see deadlines of all bounties?

killua-eu commented 6 years ago

I think that on bounties above 250 USD, there's a default 3 month deadline. The list of supporters and the date they pledged is here https://www.bountysource.com/issues/41780513-add-feature-calendar-view/backers

xet7 commented 6 years ago

@Creanimo

I need to update Roadmap order, because I need to do in this order:

1) search 2) copy + move cards to other boards 3) calendar

I don't have ETA, but I try to do more Wekan and less other work.

xet7 commented 6 years ago

Note to myself of these features wishes:

xet7 commented 6 years ago

I reorganized Roadmap and started to think that it's probably good idea to do those first that are currently in progress, before starting anything else.

h0jeZvgoxFepBQ2C commented 6 years ago

Is there any date where this will (maybe) available? I would really love to rollout wekan in our company, but our chief says without proper calender this is a show stopper :/ Just want to ask.. Thank you very much for this cool product!

xet7 commented 6 years ago

@lichtamberg

I plan to have calendar feature working this year, if possible.

Also note that Let's Encrypt wildcard certificates will be available at January next year: https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018.html There is already plans to have it in Sandstorm, it makes using Sandstorm a lot easier.

For companies I recommend commercial support of Wekan Team, if you have some budget: http://www.xet7.org/wekan It really helps to speed up Wekan development, encourages contributors etc.

Creanimo commented 6 years ago

Just want to say how much I appreciate your hard work and that I hope that more people will use your commercial services and bountysource to support the project. Is great that wekan is still alive and developing. Side note about SSL, I am using Wekan in cloudron.io which already provides Let's Encrypt certificates for all apps. Not sure how that works technically but maybe you can benefit from some source code that is used for that.

Back to topic: I have been using Zenkit which has (among many other) a calendar view (and custom fields which are also on the roadmap). It's amazing how that takes a kanban board to a very capable project management. I think with a calendar view we can promote Wekan as a project management software, which might get you more commercial users. At least for my studio I try to use as little apps as possible and merging my brainstorming and collection tool (Wekan) with project management will streamline things a lot. Thanks again! I am excited for the future of Wekan!

xet7 commented 6 years ago

@Creanimo

Thanks!

There is LDAP in Cloudron Wekan but it's not integrated yet.

xet7 commented 6 years ago

@Creanimo

For Let's Encrypt certificates, current self-hosting Wekan alternatives are using in front of Wekan:

If you want longer time between renewing SSL certs than 3 months, you can use free account at CloudFlare and there click Crypto/Origin Certificates/Create certificate that is used to encrypt traffic between your server's Nginx and CloudFlare.

xet7 commented 6 years ago

Sorry, calendar has not progressed yet.

Here are some excuses what happened instead:

Well, I'll try to organize my time that I could hopefully make progress with calendar...

xet7 commented 6 years ago

Additional requirements, sponsored by FX:

When modifying due date of a card: 1) Show info about due date change in the activities panel 2) Email card members about change of due date

xet7 commented 6 years ago

@BaobabCoder has started implementing this as minimal implementation first.

xet7 commented 6 years ago

Steps: 1) @BaobabCoder makes minimal implementation of Calendar feature, and this issue is closed 2) @BaobabCoder gets full bounty of this feature, just like @GhassenRjab got for minimal implementation of Search feature 3) Remaining Calendar feature requests are moved to new issue

xet7 commented 6 years ago

@BaobabCoder has not provided any status report, so for now, I'm moving this back to my todo list.

xet7 commented 6 years ago

@BaobabCoder came back, and is now continuing Calendar :)

xet7 commented 6 years ago

Correction: @BaobabCoder said that he makes basic first version of calendar, adds it as pull request, and gives bounty to me, so that I can continue adding features and updates to calendar, and to support my development of Wekan, because @BaobabCoder currently has his full time job, and I only have some part-time job, doing Wekan etc. Thanks to @BaobabCoder !

d3dbit commented 6 years ago

IMHO, calendar view is a needed feature to improve wekan app. Thanks for continuing developing it.

xet7 commented 6 years ago

Related: Calendar versioning https://calver.org

xet7 commented 6 years ago

Calendar in progress at https://github.com/wekan/wekan/pull/1728

jinnko commented 6 years ago

Bidirectional support would be the killer feature here. CalDAV task support is basically universal and has many interfaces such as macOS Reminders, Thunderbird, etc., yet there's no Kanban type integration. @killua-eu mentioned this in the list of desired features. Are you considering bi-directional support in scope for this issue?