Progress

Some things are done now:

Most of these projects can be used as normal libraries and are not specific to the XMPP server implementation. Especially Yaaf.AdvancedBuilding helps me to keep my build scripts clean on all these (and more) projects. The next step is to implement server dialback and replace the current prosody server on yaaf.de. After this I need to look into adding clients and notifications.

While releasing Yaaf.Xmpp as open-source I fixed various bugs and added new features to open source tools to make everything work flawlessly:

As a result F# Formatting does now support C# (currently with some minor limitations / bugs).

Additionally I started to maintain RazorEngine, which apparently almost died a slow death. The main reason I decided to maintain it was that the awesome F# Formatting decided to switch away to another template library when Razor seemed to be a perfect fit (I used and modified some templates already). Additionally if you look around there is no better Razor library available than RazorEngine. Now that is even more true as I have added

  • Travis and AppVeyor CI to execute the huge number of unit tests
  • complete mono compatibility
  • Documentation with F# Formatting (And for integration testing)
  • bugfixes for all open bugs/issues
  • a Razor-2/net40 (initially for F# Formatting compatibility, now they switched to net45) and a Razor-4 build
  • roslyn compiler support

Once roslyn is released RazorEngine will get an huge performance boost for first time compilations.

Finally, while cleanup up my project folder, I found an old project named IrcDotNet For which I had some open bugfixes used for an older project. So I decided to use the project to test the new F# Formatting changes and build a documentation for it. Because I was already on the build script and used a ProjectScaffold template adding AppVeyor and travis were basically free so I added them as well. At this occasion I contributed my outstanding patches and the author switched to github :).

New Website

The first step is done!

Finally I found some time to convert the outdated PHP website (once again thank you Simon) to F#. At first I planned to use ASP.net MVC but after some testing it was really easy to get Nancy running on mono. Because of experience of making ASP.net working on mono in the past I decided to stick with the “light” but (for now) very stable and good working solution.

With this first step done, and most of the release steps automated I will try to Introduce a lot of new features to this website in the future:

  • Add Registration into the site.
  • Add Chat History (and allow edit).
  • Manage some advanced chat settings.
  • Request re-sync of your IMAP History.
  • Blog?
  • Simple “Safe-Picture” service (protect pictures with capture)
  • Muact?
  • Add JavaScript-Chat client to the site (via Yaaf.Xmpp, test for JavaScript library)
  • Admin page for server management?

The time will tell if I find enough time to do all those features. The beta and automatically updated version (on every “working” commit) of this site can be found here. The Version numbers on the bottom right will tell you if there is an actuall difference between those two.