Aller au contenu | Aller au menu | Aller à la recherche

Informatique › Développement

Mes petits programmes faits main :)

Fil des billets - Fil des commentaires

lun. 20 mai '13

You know what deserves a new release ? HyperKitty.

ODT

The last release of HyperKitty was in February (19th). That’s a long time ago. And there’s been quite a few changes in the HyperKitty world, let me tell you.

So I’ve just published yesterday a new version of our favorite Mailman3 web archiver, which is available on PyPI. Here are the most significant code changes since the last version:

  • Merge and compress static files (CSS and Javascript)
  • Django 1.5 compatibility
  • Fixed REST API
  • Improved RPM packaging
  • Auto-subscribe the user to the list when they reply online
  • New login providers: generic OpenID and Fedora
  • Improved page loading on long threads: the replies are loaded asynchronously
  • Replies are dynamically inserted in the thread view

But code is not everything, and HyperKitty has now been deployed to serve real mailing-lists, alongside Mailman3 of course. The Fedora Infrastructure team uses is (lightly for now), and the Arquillian project has chosen to setup its lists on HyperKitty, using our server. This means we have a second server running, deployed using the HyperKitty RPMs and Ansible (which is great by the way).

If you’re interested in the future of mailing-lists, please checkout HyperKitty, I’m sure you’ll love it. And if you don’t, tell me why so I can make it work for you!

jeu. 21 mar. '13

HyperKitty has a new contributor

ODT

Since a few weeks ago, Aslak Knutsen (GitHub, Twitter) has joined the HyperKitty developers team and contributed a few pull requests already!

Aslak is a developer working at Red Hat on the Arquillian project, a testing framework for JBoss applications. He has already improved the HyperKitty REST API and built a very nice interface above it to integrate with his project. Check out his video: https://www.youtube.com/watch?v=wGRoHFnWYhI

He’s also squashed a few bugs and improved the speed of some database operations. A very good start!

Welcome Aslak, we’re very happy to count you in!

HyperKitty is still marching forward, and there’s been quite a few improvements since the last time I blogged about it (a.k.a the Pleistocene). I’m keeping our development server current, have a look at it if you’re interested!

lun. 14 janv. '13

HyperKitty moved to Github

ODT

HyperKitty development used to happen on the fedorahosted.org platform, using the Bazaar version control system. The reason for this was that the rest of the Mailman developers were all using Bazaar, so it made sense for us to use it too in order to facilitate contributions.

But the fact is that the three main HyperKitty developers are much more at ease with Git than with Bazaar. I for one organized a migration from Subversion to Git in my previous job, where our SVN repositories had an “original” structure, and needed a lot of scripting to convert them to Git branches. I also integrated Git in our previous workflow and continuous integration server (Buildbot). That’s when I learned many of Git’s underlying tools (the plumbing commands), so I’m very familiar with it.

All in all, the move to Git makes sense now, and we chose the Github platform for hosting the code. It’s very popular and we hope it will limit the friction to contribute. Thanks to Git’s distributed nature we are not locked on Github, so the fact that it’s closed source is not too much of a problem for us. The ticketing system, the wiki and the mailing-lists stay on fedorahosted.org however, Github is only for code hosting.

Here are the new HyperKitty repositories: https://github.com/hyperkitty. Feel free to fork and contribute !

ven. 23 nov. '12

First alpha release for HyperKitty

ODT

HyperKitty, the next-generation Mailman archiver, is advancing at a reasonable pace, and the time has come for its first alpha release.

The code has been published on PyPI :

I’ve also written some installation and development documentation using the wonderful Sphinx documentation system, which allows us to publish the documentation online at ReadTheDocs.org.

If you’re interested in HyperKitty, want to test it, or even contribute to it, it’s now pretty easy, just follow the procedure described in the doc. Django hackers, and even regular Python hackers, will find it quite common.

Please report any bug you can find on our tracker project page.

I hope you’ll like it !

mer. 17 oct. '12

Progress on HyperKitty

ODT

Well, long time no blog. But not as long as last time. Oh well.

There was FUDCon (Fedora Users and Developers Conference) in Paris this weekend. We had a great time, got some work done, but more importantly we got a chance to meet each other. I met Spot, my manager, and part of the team. And I met again the other French contributors to Fedora, which is always nice.

I tried to demo the project I’m working on, HyperKitty, but unfortunately I did it at the wrong time, so too few people were interested. This blog post will hopefully spread the word more widely. And who knows, maybe I’ll even take the habit of blogging more often. Sounds familiar ? D’uh.

Below are the slides I made for FUDCon, and some explanations to go with it. Just click to get to the next slide, and right-click to go back.

The current version of Mailman is 2.1, a version we have known to love (or hate every month) over the years. But Mailman 3 is in the works, and very close to release. We’re talking weeks here, a couple of months at most.

Mailman 3 is a complete redesign of the project. It focuses on a core server, which runs components, each running agents and passing email around.

You’ll find more info on Mailman 3’s architecture in its chapter of the AOSA book. There are many very interesting new features in this new version, including improvements in code quality and stability (which is a feature!).

The archiver which was shipped with Mailman 2.1, Pipermail, was stripped off, and an API was designed to enable any archiver to plug into Mailman3. It ships with plugins for The Mail Archive, MHonArc, and a basic archiver which stores the mails in maildirs. This is not how we, at the Fedora Project, think mailing-list would be best archived, viewed, and interacted with. So a few people in the Fedora Engineering Team started the HyperKitty project, working on the design, making prototypes, and recently hiring me to implement it. The links to the early design mockups can be found on the HyperKitty project page.

So, where are we ? I’ve worked a lot on the backend, called KittyStore, and I’ve only recently begun to touch the front-end, written in Python/Django. Fortunately, the work done by other contributors before me (Pingou, Toshio and Syst3mW0rm) was already very usable. A test server was setup with the latest developments, feel free to browse the imported archives there, but don’t be too surprised if it suddenly crashes on you, I may be uploading a new snapshot at the same time. Please report any bug you can find on the project’s Trac instance.

My aim is to have something stable with a basic feature set when Mailman 3 is released. I’ll implement the very nice features designed by Máirín later on. It’s going rather well, I’m fixing a few bugs and implementing the last necessary features such as importing from Pipermail and keeping Pipermail-compatible URL to transparently redirect to the new ones. I think we can meet the Mailman 3 release.

If you want to help, you can by installing it (and writing down the process!), testing it, importing from you own archive, testing the UI, reporting the bugs, etc. It’s a little early for new features, but if you’re motivated please go ahead ! They will probably be merged in a post-1.0 release however.

sam. 16 juil. '11

XHTML2ODT sort en version 1.3

ODT

Après environ 1 an de développements épisodiques, voici une nouvelle version de la bibliothèque XHTML 2 ODT, permettant de convertir du HTML bien formé en ODT, le format standard de bureautique.

Parmi les nouveautés, des améliorations de conversion de certaines balises (dl et span par exemple), des améliorations dans la gestion des images, l’ajout de paquets RPM et Deb, et la gestion du HTML généré par Lyx et Elyxer.

En ce qui concerne le packaging, des paquets RPM et Deb sont générés par le OpenSuSE Build Service, qui est un outil vraiment très intéressant quand on cible plusieurs distributions. Pour cette version, j’ai aussi créé un feed Zero Install. Zero Install est une méthode d’installation d’applications qui vient en parallèle du système natif de la distribution (mais qui s’intègre avec). C’est très utile pour des applications qui sont mis à jour très fréquemment, comme Firefox par exemple, ou pour distribuer une application sous une forme indépendante de la distribution. Je vous laisse creuser le sujet si ça vous intéresse, mais c’est un ensemble d’outils qui mériteraient d’être plus connus.

Rendez-vous sur le site du projet xhtml2odt ou directement sur la page de téléchargement pour récupérer la dernière version de la bibliothèque.

dim. 03 avr. '11

Comment écrire du code testable

ODT

Je vous propose les diapositives d’une présentation que j’ai réalisée récemment, concernant les méthodes de développement permettant d’écrire un code facilement testable.

Lire la suite...

- page 1 de 4