WPCalendar Status 2021-07-29

The time is coming. Everything that needs to be redone in the Meetup API can be divided into 2 parts. And the first one is almost ready.

One part is to update all existing data, i.e. update group information and past and future event information.

The other is to manage the platform, i.e. to find new groups, add and review them on the platform, and from there it “just works”.

Well, the first of the two parts is ready, which means that the main problem is already solved. In a second phase, it will even be possible to add some more data that were not available until now. But that will come.

Also, the image system has changed completely, since before they gave you the URL where the image was and now you have to generate it yourself (something, by the way, is not documented and I had to be informed about it). This is partly good and bad. The good part is that the size of the images is the one I decide. The bad part is that since you don’t know the original size of the images you can get an image that is 1:1 in 16:9 and be cut or deformed.

  • Dedicated time: 2 hours.
  • Accumulated time: 10 hours.

WPCalendar Status 2021-07-27

Do you want me to say some swear words? UTC, timezone… If you’ve ever worked with dates in programming, you’ll know it’s a pretty big mess.

For some time now there has been UTC (Universal Time Coordinated) which is a time that anyone on the planet can take a date/time and add or subtract their time zone to it.

With events, there is not much difference. Depending on where your event is, you will have one time or another, and Meetup or WordCamp events have the local times of the place where they are going to be held.

What happens when a project is global? Those hours are not useful, especially if we talk about online events, because the time of the event, for example Barcelona -ES-, has 6 hours difference with a person who is in, for example, Miami -US-.

Today’s work has been to standardize the event times from the new API to, once again, end up using the “time” from 1970-01-01 00:00:00, that is, the seconds since that date … saving this information, it doesn’t matter what time you have, because it can be calculated.

  • Dedicated time: 2 hours.
  • Accumulated time: 8 hours.

When you receive support from the WordPress Community

The day I made the decision not to continue WPCalendar was quite hard. A project that has given me a lot of joy and in which a couple of times a week you enter, you check how the Community is doing and by the way you use the contents to comment on a podcast (in this case, WordPress Radio).

And in the same way I received support from many people in the Community who wrote me direct messages on Twitter to @JavierCasares. It’s not the first time it happens to me… a few weeks ago as Hosting Team Rep, after publishing an article about PHP-Intl I also received many messages from people who were very aligned with what I was saying.

What never happened to me before is that I received messages that wanted to support the project in some way, even financially. This project has always been one of my WordPress side-projects (along with WPNoticias, WPpodcast, WP-Config generator or WPSysAdmin itself, which has become a big part of my daily professional life) but it had been building little by little, over the years, every week “a little more”.

It is true that in recent months it has had some big changes, such as the ability to add all the events online, and even an adaptation with the new WordPress API that allows easy writing, and that updates the events of the Community of Spain every day, automatically.

I want to give special thanks to Brian Richards, Birgit Pauli-Haack, HeroPress and Zachary Tirrell, both for your comments and for the feedback you have given me after keeping you informed.

I have to admit that I dedicate a lot of free time to the WordPress Community and that in general I do it because I want to (even if they don’t understand it at home) and the fact that someone is willing to finance a project like this is very flattering, but I don’t want to do it if I’m not sure that really, at least the minimum base, allows continuing working with all the new development.

A meetup with Meetup

After the Tweet I posted a bit angry (perhaps frustrated) about the poor documentation of the new Meetup API I was fortunate enough to be contacted by Annyce Davis, Engineering Director at Meetup.

Although I wrote to her publicly with some of my complaints, we arranged to meet by video call, and I must admit that it went well. It is true that just hours before they updated some documentation and that has helped to continue making improvements, but there is still a lack of documentation.

The best of all is that they are open to suggestions and help, so, I have to admit that great. I don’t know if I must be the first fool who is playing with the new API, but every day I detect some data that doesn’t quite fit, and sometimes I don’t know if it’s something of mine, or if it’s just wrong.

The important thing is that both from your side and from mine we have obtained several notes that will help us to continue working on the project.

And, once again, gracias Annyce por toda la ayuda.

WPCalendar Status 2021-07-26

They’ve updated some API documentation! Although there is still part of it that is not well documented, at least with this information I can start paginating and bring information in bigger blocks.

With this change I now have the option to bring all the information of a group, the information of upcoming events (I will bring up to 25, although there are usually 2 or 3) and, finally, all past events, which serve to validate information (such as total attendees to the event).

One of the important changes I see is that the unique event identifiers have changed. In the old API, numeric identifiers were mixed with strings, and now it seems that they are all numeric again. Not too much of a concern, since you can delete the events that don’t match and add the new ones, but a big bug.

Finally, I’m going to separate the requests into 3: information from a group, information from future events (only 1 query out of 25 events) and information from past events (looping queries, although I’m going to ask for 200 at a time).

  • Dedicated time: 3 hours.
  • Accumulated time: 6 hours.

Redoing WPCalendar.io

In early July 2021, Meetup.com sent out an email saying that it was going to completely change its API from REST-API to GraphQL, and that on January 1st, 2022 the old one would stop working.

A first look at the documentation confirmed my suspicions: things were missing.

This already happened to me when I started the project 3 or 4 years ago and the API was still free. Later it became paid and things got even more complicated, because every time you write to their PRO support service (remember that you pay 360 euros/year to have a PRO account and certain elements of the API, even if you don’t use it for anything, just reading) they tell you that they don’t support the API. It is certainly a nonsense to pay for a feature and then say that they do not.

After reviewing and analyzing for a few hours and not being able to find the first steps, I decided that maybe it would be better to throw in the towel. A message on several of the WPCalendar.io pages showed that on August 1st, 2021 the site would stop updating new Meetup data (although the site would still be active).

Posting it on Twitter prompted many people to write to me privately, on the one hand to see if it was a financial or hosting issue (neither), nor if they could help in any way. I will write about this later.

After the support, a new opportunity, a couple of hours more to see if I could update or adapt some existing with the new. Failure and frustration. Again, “I want to, and I can’t”.

A couple of days of rest, talk to friends who know the project and encourage you again to keep trying: “It’s a pity that a project like this, which brings so much to the WordPress Community, ends”. And as I am quite stubborn, again a few more tests. Something simple. And the light was seen… until I found myself again with the lack of documentation.

And when frustration gets the best of you, what do you do? Cry on Twitter.

And, like crying toddlers, sometimes you get things done.

WPCalendar Status 2021-07-23

First day of serious work. Of everything that needs to be redone, I’m most concerned about maintaining the existing groups, so that the information of new events continues to work.

Currently, there are several crons that do this job, and they call two API URLs, one for future events, and one for past events. For each group, these two calls have to be made.

When starting with the new API you actually have to redo the whole connection system first, which is very useable from the existing one (the OAuth connection). The API endpoints change and so do the queries.

In theory, with a big query you can get the information of a group, it’s past and future events. The problem is that in the documentation, there is no way to ask for “more contents” than the default (20 maximum).

  • Dedicated time: 3 hours.
  • Accumulated time: 3 hours.