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

Seeking Collaborators for CLNDR 2.0 #136

Closed
kylestetz opened this issue Nov 27, 2014 · 27 comments
Closed

Seeking Collaborators for CLNDR 2.0 #136

kylestetz opened this issue Nov 27, 2014 · 27 comments
Milestone

Comments

@kylestetz
Copy link
Owner

I have been anxious to get working on a new version of CLNDR. It was written a year and a half ago now (!) and the code no longer reflects my standard of quality. It was also written without a clear understanding of which features would be most useful or interesting. I'm ready to try again with a much clearer picture of what it should be and how it should be put together.

Maintaining open source software is fun and interesting, but it's also a lot of responsibility! I would love to share this process— and the resulting codebase— with at least one other person.

I am 100% on board to share everything from architectural ideas to commit privileges with as many folks as are willing to participate. Here are some thoughts I have about where to go with version 2.0, in no particular order:

  • Use browserify to modularize parts of the plugin
  • Unit test everything
  • Allow the plugin to be used as a node module, allowing initial rendering on the server
  • Remove the concept of a month in favor of any interval of time as explored in the intervals branch
  • Use _.template internally and remove underscore/lodash dependency
  • Optimize!

If you are interested let's talk about it! I have no expectations about timeline- we could do it in a week or across 6 months. I'd love to hear from some past contributors as well- @jaakon, @Ahrengot, and @dmerrill6 come to mind.

@kylestetz kylestetz added this to the CLNDR 2.0 milestone Nov 27, 2014
@vbfischer
Copy link

I'd be interested in collaborating. Going to take a look at the code now...

@webteckie
Copy link

@kylestetz regarding bullet 4 above:
Remove the concept of a month in favor of any interval of time as explored in the intervals branch

will it be possible to easily create calendars with yearly views? How easy is that now?

At any rate, I be willing to help. Don't have a lot of time but will help as much as time allows since I will be using clndr in my project. I actually talked to you about a year ago as I was building a prototype angular directive last year that displayed a clndr.

@kylestetz
Copy link
Owner Author

@vbfischer and @webteckie thanks for your interest!

@webteckie: the intervals branch was an experiment in removing the idea of a month and allowing the developer to specify the length of time the calendar should cover. You can use it to create a twelve-month view (and of course you are free to do whatever you want with the template, so this makes it possible to create a yearly calendar). It works just fine but I was unhappy with the direction the codebase was headed in so I decided not to pursue it any further (I will certainly support you if you use it!).

Even if you don't have much time to contribute, it would be extremely helpful if you were able to test the API when the new codebase starts to come together. More eyes on the code is always better!

@webteckie
Copy link

@kylestetz what's the status of the new code base? I'll be happy to develop against it and test it.

@kylestetz
Copy link
Owner Author

Haven't started yet 😁

I've been pouring all of my open source energy into lissajous for a while now!

@elidupuis
Copy link
Contributor

I'm interested in helping out—even if it's only testing the API.

@maneeshpal
Copy link

removing the external templating dependancy is a great step moving forward.

@miljan-aleksic
Copy link

Hi, I knew about this plugin time ago and recently used it for a project. Not forcing you with own styles and giving the template freedom it's awesome! Thank you for the hard work, it literally saved the project.

I would like to collaborate on the new version, let me know if you are ready to start anytime soon. I could also take care of the build process and/or any automated task if you decide to switch to Gulp.

@kylestetz
Copy link
Owner Author

That's great to hear @miljan-aleksic! Your involvement would be awesome. I've been using gulp for everything and will definitely be using it for the new build— I'll have to tap your brain for ways to make contribution easier using it.

I plan to dig into the new build in early March. I will be as transparent as possible about the process and I'll be sure to loop you all into the decision making where it makes sense— thanks again everyone for announcing your interest.

I'm going to make a new issue that seeks feedback and suggestions for the new version. I encourage you all to put your thoughts there!

@kylestetz
Copy link
Owner Author

Following up on our discussions, you can read about the first steps toward the next version in #155. Development will be starting soon!

@L0G1C
Copy link

L0G1C commented Mar 17, 2015

I've recently been evaluating CLNDR as a solution for for a project and would love to see/be a part of this new evolution of CLNDR!

@mikegioia
Copy link
Collaborator

@kylestetz has there been any movement on CLNDR v2? I have time I can contribute over the next weeks/months to help.

@kylestetz
Copy link
Owner Author

@mikegioia no movement yet. I have not been prioritizing it, as I've been quite busy. I'm not exactly sure when I'll have the space to work through this stuff— thanks for offering your time, I will let you all know when development picks up!

@mikegioia
Copy link
Collaborator

@kylestetz Thanks! I'm actually at a point with my full-time job where we need a calendar plugin like CLNDR but with the ability to do 2 (or more) week intervals, instead of only having the month as an option.

I know this was planned in your v2 announcement, but I'm debating now whether to fork CLNDR and implement that, or to just write it from scratch. Are you to open to pull requests for things like this? There's a chance some backwards compatibility is broken (like the constraints option) but I could at the very least convert every notion of "month" in the app to "time period" instead.

@kylestetz
Copy link
Owner Author

@mikegioia have a look at the intervals branch, which is my attempt at exactly that. #72 will give you a sense of the usage. It is stable with the exception of the eventsThisInterval, eventsNextInterval, etc. arrays that are handed to the template. I would welcome any updates on that branch in the mean time— I have no intention to merge it, since V2 was going to be a proper version of those ideas.

Hope that helps!

@mikegioia
Copy link
Collaborator

Thanks @kylestetz I'll check that branch out first, probably this week. I see that it's a significant amount of commits behind master. Is there any particular reason why, or is it not safe to merge master in currently? Regardless, I'll operate from that branch for the time being and see what I can add in the meantime.

@kylestetz
Copy link
Owner Author

I successfully refactored the project to work with any interval of time, but I wasn't happy with the direction the codebase was headed in, and decided my energy would be spent better writing it over again instead of merging it. Unfortunately I made this decision a year ago and have yet to follow through on it. Such is the nature of open source software.

It's not ideal, but it will work in a pinch, which it sounds like you are in.

On the flip side, if you want to take the current codebase and implement custom intervals, I would accept a PR. Let me know if you're interested in going this route and I can resolve the open PRs to get things ready for you.

@mikegioia
Copy link
Collaborator

@kylestetz I forked the repo and started adding to issues to my fork (https://github.com/mikegioia/CLNDR/issues). Lemme know if you'd prefer I keep these issues on your repo. I can't imagine there will be that many.

Either way, I'm planning to make modifications to the intervals branch only. I do feel that there is a better way (in general) to do a calendar like CLNDR without it being 44kb, but I'll have to save that effort for later 😞 The work you put into this is great, I'm just with you when you say "my energy would be spent better writing it over again instead of merging it". I'm not entirely sure how that starts, but if you're looking for contributors to a re-write I'd be interested.

@mikegioia
Copy link
Collaborator

@kylestetz Sorry for the email blast, but I think I have a working version of the intervals branch running, which honestly very little updates to your branch. If you pull https://github.com/mikegioia/CLNDR/tree/intervals and run the example/index.html file, you'll see I modifed .cal2 and added .cal3. This shows two examples of using a 2-week, and 2-month interval. All of the same events are used and the paging works.

I had to make slight modifications, and I set up the rendered data object to have the same variables whether it's rendering month or interval mode. I'm about to start using this in my project (FYI), so I'll be in here possibly making changes over the next few days. I can also merge those outstanding branches if you don't have the time or don't want to, but let me know what you want to do with those first.

@kylestetz
Copy link
Owner Author

Making a new issue for this discussion!

@chrisyeung1121
Copy link

Hi all, I have been using Clndr for a few weeks now and loving it. One feature would be great is if there can be custom classes to the calendar. So instead of just having 'event' and 'disabled' class, we can also have other user-defined classes. I use it for a rental platform and sometimes I need to show on the calendar that it's fully-occupied, half-day occupied or etc.

Thanks!

@joubertredrat
Copy link

This issue is only to help to develop CLNDR2 or talk about possible new features? If is second, I think that support to ajax using date as parameters with GET or POST is a good idea, but, is very necessary to have documentation for new plugin

@yepeekai
Copy link

I tried to search for clndr2 and didn't find anything. Is it started? Will it happen?

@m5kr1pka
Copy link

m5kr1pka commented Nov 9, 2015

still looking for help in colaboration for CLNDR 2.0?

@kylestetz
Copy link
Owner Author

Hey Folks,

Thanks for the continued interest! Since @mikegioia joined the project in the spring we've hit most of our immediate goals, most importantly to get clndr working with intervals other than one month (to support week and year views, etc). I am not hearing much of a desire from our users for the fringe benefits a new codebase was going to give us (the ability to plug clndr into various MVC frameworks, for example).

At @mikegioia's suggestion, we will be taking some time soon to clean up the codebase and make sure that this continues to be a healthy & maintainable project that anyone can contribute to. So: we're not going anywhere, there just doesn't seem to be enough of a reason to rewrite at this point in time.

👍

@kimroen
Copy link

kimroen commented Nov 30, 2016

The call to action for this issue on the marketing page could probably be changed or removed at this point! (https://kylestetz.github.io/CLNDR/)

@mikegioia
Copy link
Collaborator

@kimroen I just removed it now :P

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

No branches or pull requests