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

Follow roadmap for 2.0 #372

Closed
36 of 39 tasks
liZe opened this issue Apr 4, 2016 · 32 comments
Closed
36 of 39 tasks

Follow roadmap for 2.0 #372

liZe opened this issue Apr 4, 2016 · 32 comments
Assignees
Milestone

Comments

@liZe
Copy link
Member

liZe commented Apr 4, 2016

As defined in #364.

@liZe liZe added this to the 2.0 milestone Apr 4, 2016
@liZe liZe self-assigned this Apr 4, 2016
@liZe
Copy link
Member Author

liZe commented Apr 7, 2016

I've removed the extra storage, auth and rights modules. Anyone is insterested in testing the new code and config file?

@untitaker
Copy link
Contributor

Could you keep the refactor out of master until it is finished? Thanks!

Will test soon, but right now I have to deal with the dev version being broken in my CI. :(

@liZe
Copy link
Member Author

liZe commented Apr 8, 2016

Could you keep the refactor out of master until it is finished? Thanks!

I won't, sorry :/.

I've had really bad experiences with keeping ongoing development out of master, and good experiences after with big changes in master early:

  • no pull requests on the "old" branch when they're outdated/irrelevent with the "new" one,
  • lots of people understand early that "something is going on",
  • more early testers and early discussions,
  • no "big surprise" when the new branch is merged, with endless discussions on what should have been done after weeks/months of work.

By the way, I've added a 1.1.x branch, and I'm trying to keep master working even with big changes (Travis is watching us!)

Will test soon, but right now I have to deal with the dev version being broken in my CI. :(

Thank you, good luck!

@liZe
Copy link
Member Author

liZe commented Apr 9, 2016

I've tested the current version (af19377) with Thunderbird, DAVdroid and CalDAV Sync Adapter. Collection discovery seems to work well with and without authentication.

@liZe
Copy link
Member Author

liZe commented Apr 11, 2016

The Collection API has been changed as proposed in #130.

@untitaker
Copy link
Contributor

BTW I think skarim/vobject#23 should be considered a blocker issue.

@liZe
Copy link
Member Author

liZe commented May 25, 2016

The file locker has been implemented in #402.

I've tested (not for a long time) the current master branch with many clients, including Cadaver, Thunderbird, iOS Calendar, OSX Calendar, and it seems to work well.

@liZe
Copy link
Member Author

liZe commented Jul 13, 2016

I've removed freebusy (#34) and sync-collection REPORT (#306) from the roadmap, as they need a lot of time. I'll fix the two last technical tickets (#440 and #327) and realease a new RC soon.

The next step is testing and documentation writing. Anyone interested?

@bandali0
Copy link

bandali0 commented Sep 6, 2016

Really looking forward to 2.0!

@liZe Any pointers or recommendations for "simple installation" for personal use? I'm about to re-setup my VPS from scratch and would love to use Radicale 2.0 for my calendars and contacts.

@liZe
Copy link
Member Author

liZe commented Sep 7, 2016

Any pointers or recommendations for "simple installation" for personal use? I'm about to re-setup my VPS from scratch and would love to use Radicale 2.0 for my calendars and contacts.

Installing from scratch for personal use is really easy. You can follow what's in the future tutorial :

  • install with pip install git+https://github.com/Kozea/Radicale.git:
  • store your configuration in ~/.config/radicale/config,
  • use nohup or something like this.

That's all!

@bandali0
Copy link

bandali0 commented Sep 8, 2016

Ha I see, thanks! I'll try and see if I can run it behind nginx.

@pbiering
Copy link
Collaborator

pbiering commented Sep 14, 2016

Dropping Phyton 2.x support and enforcing Phyton 3.x leads to installation problems on Enterprise Linux version 7 (latest RHEL or CentOS).
Biggest issue is that I haven't found a mod_wsgi module for EL7 -> radicale "must" run in standalone mode with Apache in front using ProxyPass
Major issue is missing "python34-vobject", but this is solvable by an adjusted rebuild of SRPM of latest Fedora version.

I can confirm now proper working with "Thunderbird Inverse SoGo Connector", for migration from old multi-filesystem one should perhaps document, that calender "folder" layout changed:

Old:
/user/calendar-1/id-of-entry-1.ics
/user/calendar-1/id-of-entry-2.ics
...
/user/calendar-1.props containing "VCALENDAR"

New:
/user/calendar-1/id-of-entry-1.ics
/user/calendar-1/id-of-entry-2.ics
...
/user/calendar-1/.Radicale.props containing "VCALENDAR"

BTW: in case a manual calendar folder was created on file system but missing .Radicale.props and then using SoGo connector with folder URL leads to a very strange result:
new calendar entries are created as folders, entry contents is a file in that folder having a short hashed name, .Radicale.props is also stored in the folder, directory/file permissions on Unix are 777 and SoGo can't read back the entry (because dot-props for folder is missing):
/user/calendar-with-no-dot-props/id-of-entry-1.ics/shortid
/user/calendar-with-no-dot-props/id-of-entry-1.ics/.Radicale.props
-> somehow not expected, I would suggest rejecting creation of entries in a folder in case this is not explicitly defined in .Radicale.props as VCALENDAR or VADRESSBOOK.

Permissions of 777 are probably the result of umask(0), see #540

@liZe
Copy link
Member Author

liZe commented Sep 14, 2016

new calendar entries are created as folders

It's normal. There's no difference between an event and a calendar in iCal, so PUTting an event in a non-calendar collection is just like creating a calendar in this collection. Nothing strange here 😉.

migration from old multi-filesystem one should perhaps document that calender "folder" layout changed

Of course! We just need to write the Storage page of the new configuration.

Dropping Phyton 2.x support and enforcing Phyton 3.x leads to installation problems on Enterprise Linux version 7 (latest RHEL or CentOS).

With "serious" distributions, it's probably not a good idea to use Radicale 2 before it's been officially packaged. But if anybody wants to try, using pip to install vobject and putting Radicale behind nginx+uwsgi is a solution that should be available in any current distribution.

@pbiering
Copy link
Collaborator

new calendar entries are created as folders

It's normal. There's no difference between an event and a calendar in iCal, so PUTting an event in a non-calendar collection is just like creating a calendar in this collection. Nothing strange here 😉

Can one implement a feature (perhaps optionally like "strict_subfolder_usage") to prevent creating Items in the root folder which aren't collections? Because this turns to totally strange situation:

WP run calendar autodiscovery and suddenly has more calendars, the original "folder-based" ones + for each new Item created in the root-folder...means calendars in WP are increasing over time...one per new Item created by a client which (for whatever reason) places entries in the / folder

@pbiering
Copy link
Collaborator

Please take a look on my pull request on top of master, I would consider it as stable now, found no issues so far: #526

@liZe
Copy link
Member Author

liZe commented Feb 28, 2017

I'll release a beta version of 2.0.0 soon. The 2.0.0 milestone has some issues open, but some of them can wait after the beta is released.

The future documentation can be updated on the gh-pages branch, take a look if you're interested!

@liZe
Copy link
Member Author

liZe commented Apr 15, 2017

I have released 2.0.0rc1 on PyPI! The version is hidden but available.

There are lots of cool features waiting in some pull requests, but I find them a little bit too dangerous to merge them just now. 2.0.0 is working quite well right now, I'll only merge bugfixes before 2.0.0.

Please check that everything works for you!

@klonos
Copy link

klonos commented Apr 21, 2017

The version is hidden but available.

Can you please share the secret 😄 ...links to binaries would be awesome 😉

@liZe
Copy link
Member Author

liZe commented Apr 22, 2017

https://pypi.python.org/pypi/Radicale/2.0.0rc2 ;)

@liZe
Copy link
Member Author

liZe commented May 23, 2017

Please read carefully if you're interested in Radicale's future.

Now that #591 is (almost) fixed, I'll release 2.0.0 using the git master branch on Saturday or on Sunday this week.

I know: I'm late.

Before the release, I'd like you (@untitaker, @pbiering, @Unrud, and anyone interested of course) to help me solving a couple of problems:

What do you think about that?

Another important point: THANK YOU.

It's been a pleasure to merge your pull requests and discuss all these issues and feature requests. After 2.0.0 is released, it's time for Radicale to find new co-maintainers with superpowers. Radicale has become a lot bigger and powerful than it was before. There are really interesting pull requests waiting to be merged, but I can't find the time and the motivation to read, review and merge them anymore. Moreover, I've always loved really simple code with a small amount of features, and I think that Radicale now wants to include features that I'm not ready to clean, debug and maintain alone. Of course, I'll keep an eye on the project and tell what I think, but I'd like to give admin rights to the repository and to PyPI to some current contributors. If anyone is interested, just tell me!

💓

@Unrud
Copy link
Collaborator

Unrud commented May 25, 2017

I'll release 2.0.0 using the git master branch on Saturday or on Sunday

Before you do this, please cherry-pick fc05e55
(#598 is the same fix, but checking path.startswith(base_prefix) was forgotten). The SCRIPT_NAME environment variable is currently not working at all.

I propose to merge (or reject) #604 and #608 before the release. They are very small, but change the default configuration and behavior of the --config command line argument slightly. Therefore, they cannot be merged in a minor release later.

I think that all the other open pull requests don't change anything in a manner that is not backwards compatible.

There are lots of issues open about the documentation.

I started writing the documentation for 2.0.0 in #607 and created an easier way to upgrade from 1.x.x in #606.

it's time for Radicale to find new co-maintainers with superpowers.

I would be interested. I was thinking about forking Radicale anyway.

@liZe
Copy link
Member Author

liZe commented May 26, 2017

Before you do this, please cherry-pick fc05e55

It's done, thanks.

I propose to merge (or reject) #604 and #608 before the release.

I've merged both, better now than later.

I think that all the other open pull requests don't change anything in a manner that is not backwards compatible.

I'm a coward, some of them are too big for me 😉. I'd prefer to merge them in a future version.

I started writing the documentation for 2.0.0 in #607 and created an easier way to upgrade from 1.x.x in #606.

I've merged #606 and I'll merge #607 just before releasing 2.0.0. I'll release a new 1.1.x version too.

I would be interested. I was thinking about forking Radicale anyway.

Good news! I think that you have the skills and motivation to bring Radicale to a higher level. No need to fork then, here is a copy of the key 🔑.

@liZe
Copy link
Member Author

liZe commented May 27, 2017

Radicale 2.0.0 has been released 🎉.

@liZe liZe closed this as completed May 27, 2017
@djmattyg007
Copy link

Congratulations :)

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

No branches or pull requests

7 participants