To infinity, and beyond!

Guess it won’t surprise anyone if I say the plugin has suffered a major break in its development lately. Almost nine months have passed since the last update, and it truly is a shame. Meanwhile the plugin has been download almost 15.000 times, as if I needed proof that users are still here, waiting.

Well, it’s been a rough year. Really. Would it be up to me, I’d be working on this plugin full time, but the truth is that WPMovieLibrary does not pay my bills, and they tend to be quite large these days, restraining me to more lucrative and yet not-that-much-interesting projects. Add this to a life-threatening illness that struck on a close family member since June and you get a good look at what’s been in my head since spring… But hey, let’s not dwell on this! There’s good news to conclude a crappy year anyways, the first being, of course, that I started back working on WPMovieLibrary.

Screenshot_2015-12-20-12-12-11

Although this means version 2.1.5 and 2.2 are officially abandoned, it also means that I started rewriting the plugin from scratch, and this will end up in version 3.0. Version 2.x is way too complicated to maintain and handles at lot of things in a very poor way; time for a change. Version 3.0 will bundle most of the features and updates originally scheduled for versions 2.1.5 and 2.2, fix ongoing issues and make place for other long-requested-but-yet-to-be-determined features.

Another consequence is that the plugin requirements will be significantly restricted. Don’t expect it to run on older PHP version, 5.4 will probably be the oldest allowed; same goes with WordPress, version 4.2 at least will be required. The plugin will heavily rely on JavaScript both in frontend and admin, so you’ll need it to be enabled on your browser and so will your visitors. I got a few downvotes on that choice on other projects lately, and I do understand the need for some folk to browse with JS being active, but it’s just way easier to build a plugin like WPMovieLibrary which benefit from tools like Backbone and AJAX queries.

I heard you in the back. You don’t want to waste another year waiting for an update. So what? Well, it shouldn’t take that long, really. I dived back in the code just a week ago and so far I’ve managed to put together a very good working base including the data management part (movies, meta, details) with sanitization, saving processes and options handling; meta/details now have an autosaving process in the movie editor. Soon to come are the API implementation and search processes, and the rest will follow. Some features from version 2.x will become obsolete and will be removed or replaced with better alternatives, though it’s too early to say exactly which ones and how; but I’m pretty sure you’ll enjoy the result anyway: using the plugin will be easier than ever!

Ok, time to get back work, isn’t it?




6 Comments

  • Bonjour Charlie,
    Je comprend mieux les raisons pour lesquels les mises à jours n’arrivaient pas…
    Bonne nouvelle pour le plugin, j’ai hâte de voir ce que cela donne et tu sais que tu peux compter sur moi pour les tests.
    As tu prévu une rétro compatibilité pour nos bases tournants sur la V2 ?

    1. Honnêtement, pour le moment je n’y ai pas réfléchi ! Le gros du boulot en cours consiste à poser des bases solides et faciles à maintenir pour la suite, en plus d’être facilement utilisable ; je me suis uniquement attaqué au côté administrateur, pas encore au côté public.

      L’idée est quand même que la version 3.0 soit le plus compatible possible avec les précédentes versions, mais dans la mesure ou on parle d’une réécriture complète il y aura forcément des points des incompatibilités inévitables. Les fonctions « wrapper » et les Shortcodes ne bougeront pas, mais je vais par exemple entièrement revoir les hooks pour qu’ils soient plus explicites, simples et puissants à utiliser, donc là il faudra un peu d’adaptation malheureusement… Mais globalement, la version 3.0 devrait grandement simplifier les choses, utilisant au maximum la programmation objet par exemple. Un simple $movie = get_movie( $id = 1234 ); permettra de récupérer toutes les informations du film ; $movie->get_director() renverra le réalisateur, $movie->get_posters() renverra les posters, et $movie->set( 'director', 'Christopher Nolan' )->save(); permettra de mettre à jour une métadonnée. Ça devrait sensiblement simplifier le développement de plugins et de thèmes compatibles !

    1. Je préfère éviter : l’expérience a montré que chaque date butoir que je me fixe avec ce plugin fini inévitablement par être dépassée 😛 Sans compter les obligations professionnelles qui, si elles sont un peu plus légères depuis quelques semaines, vont revenir à la charge d’ici peu de temps…

      Mais ça avance ! Dans l’immédiat j’attends d’avoir un éditeur individuel qui fonctionne parfaitement pour intégrer l’API et la recherche de films ; quand ça sera fait il sera déjà temps de rebasculer le développement en public sur GitHub. J’ai pris un peu plus de temps que prévu pour fignoler l’éditeur, parce que je voulais y ajouter la possibilité de modifier les images (images et affiches) directement depuis la metabox, comme ça 🙂

  • I use WPMovie Library for a Movie Podcast and my client likes being able to promote each post using Publicize from Jetpack (it publishes each post to facebook, twitter, google+, etc.). I added it to the plugins support, but it’d be much better if you included it in the source so I don’t have to update the code when you get 3.0 up. That would be great and could probably benefit others looking to do the same.

    I’ve still got a few things I like to change and update in the code but I love the plugin and it works great for what we use it for. Keep up the great work!

    -Jared
    http://thehorriblemoviepodcast.com

    1. Hi Jared,

      Not sure that’s something that ought to be in the core, but it sure would be a nice plugin idea. Maybe you could share your code privately to see if and how it can be done?

  • Leave a Reply

    Your email address will not be published. Required fields are marked *