Microsoft release specs for Simple Sharing Extensions (SSE)

Microsoft has released Simple Sharing Extensions, a new extension to RSS which helps users to syncronise each others extension. Microsoft has release SSE specs under the Creative Commons License (Attribution-ShareAlike) 2.5 .

Microsoft claimed that it has modelled the SSE based on the structure of Lotus Notes, which denotes that Lotus Notes “notefile” is analogous to RSS ‘feeds;’ and Lotus Notes ‘notes’ could be analogous to RSS ‘items’.

Hope that this extension would extend the usefulness of RSS feeds just like other extensions like Yahoo mRSS and dublin core module do. I would also love that people would use the ATOM 1.0, functionality in much of their daily work, as I read the specs that there’s much potential to be exploited in the syndication format.

[Source]
Microsoft RSS SSE extension spec : http://msdn.microsoft.com/xml/rss/sse/

Using Feedcreator to generate ATOM 1.0 feeds

I’m going give out a tip on using feedcreator class library to ease up generating syndication feeds for your web project. As you might know, there are different kind of syndication format out there such as RSS 2.0, RSS 1.0, RSS0.91, ATOM0.3 and ATOM1.0. Each of the syndication format has its own markup (though RSS 0.91 and 2.0 are closely related), making generating feeds from scratch can be quite a chore for your project.

Feedcreator provides an easy way to create RSS and ATOM feeds from within PHP using ease to use classes. However, feedcreator has a couple of drawback :

  1. It does not support ATOM 1.0
  2. Doesn’t support Enclosure
  3. Can’t generate feeds on the fly

Though these drawbacks might not be as serious as I put in here, it is nice to have this features implemented on feedcreator. ATOM 1.0 is a new syndication format issued by IETF as a standard way to produce feeds, ATOM 1.0 has a nice features and more structured layout than the ever-inconsistent RSS feeds.

Though Enclosure tag is optional in RSS 2.0, the tag is significant for those who are into podcasting or photoblogging. Enclosure feature allows for the syndicated feed to not just serve text content, but also to package an enclosure (call it an attachment of some sort), as well. IIn the podcasting model, the RSS enclosure contains an audio file, which subscribers can listen to on their devices.

Generating feeds on the fly is one of the most requested feature of feedcreator. This allows feeds to be generated dynamically upon request as opposed to generating feed on certain event (such as posting new articles). Mambo and PhpGedView project uses modified Feedcreator to generate feeds on-the-fly.

I’ve published a modified version of Feedcreator (namely Feedcreator 1.7.2-ppt) that contains all of these enhancements (or hacks). Here’s a snippets on how to use the additional features :


/*

This demo is to illustrate how to use feedcreator
using outputFeed function, ATOM1.0 and enclosure
support.

Enclosure support is useful if you are into
podcasting or publishing photoblog.

the required parameter for enclosure is url, length
and type (as in MIME-type)

*/

< ? php include ("include/feedcreator.class.php"); //define channel $rss = new UniversalFeedCreator(); $rss->useCached();
$rss->title="Personal News Site";
$rss->description="daily news from me";
$rss->link="http://mydomain.net/";
$rss->syndicationURL="http://mydomain.net/$PHP_SELF";

//channel items/entries
$item = new FeedItem();
$item->title = "test berita pertama";
$item->link = "http://mydomain.net/news/somelinks.html";
$item->description = "hahaha aku berjaya!";
$item->source = "http://mydomain.net";
$item->author = "my_email@mydomain.net";

//optional enclosure support
$item->enclosure = new EnclosureItem();
$item->enclosure->url='http://mydomain.net/news/picture.jpg';
$item->enclosure->length="65905";
$item->enclosure->type='image/jpeg';

$rss->addItem($item);

//Valid parameters are RSS0.91, RSS1.0, RSS2.0, PIE0.1 (deprecated),
// MBOX, OPML, ATOM, ATOM1.0, ATOM0.3, HTML, JS

$rss->outputFeed("ATOM1.0");
//$rss->saveFeed("ATOM1.0", "news/feed.xml");

?>

You can download the modified version of Feedcreator 1.7.2 from my server, the zip package contains the modified class library, GNU/LGPL license, some demo php file and a diff file against the plain vanilla Feedcreator 1.7.2 for curious people.

p/s : all of the modifications are written by me except outputFeed function which is written by Fabian Wolf.

Download :
Feedcreator 1.7.2-ppt (zip)

Feedcreator website : http://www.bitfolge.de/rsscreator-en.html

PHP – Generate PDF on-the-fly with FPDF

Do you want to create PDF documents online for your commercial software? Now you can do it with FPDF class library. FPDF is a PHP class which allows to generate PDF files with pure PHP without depending on external library such as PDFlib.

What’s wrong with PDFlib? well for starters, PDFlib support need to be compiled in the php to make it work, secondly PDFlib isn’t free software meaning that you need to buy a separate license if you with to use PDFlib to generate pdf docs for your commercial apps and business. On the other hand, though not stated in a formal form, FPDF is freely distributable with or without modification and there are no restriction on the use of FPDF class library.

Of course being a pure PHP implementation, FPDF suffers from the lack speed of PDFlib, but the performance degradation won’t be noticeable unless you are planning to generate a large pdf files. FPDF library has been ported to other languages like Ruby, PHP and and C++ as there’s no restriction imposed on it.

Here’s a link to those who are interested to use FPDF in their projects :
http://www.fpdf.org/

NanoBlogger – a weblog engine in bash

Nanoblogger is a weblog system that is written in GNU bash. It utilises common unix tools like cat, grep, and sed to create static HTML content. Because of this, nanoblogger itself is highly configurable and scriptable.

It also spots the most common feature of popular weblog engine like permalinks, archiving, atom/rss syndication, category, calendar, multi-language support and multi weblog supports.

It simple requirements of bash and some simple unix tools makes it portable across various platform (architecture and operating system). IMHO, considering how small the engine is, Nanoblogger packs the most powerful and useful features that a weblog ever need. A definite use for geeks who spends most of their time in command line driven box.

Source: Nanoblogger website

Free WordPress blog hosting

I’ve compiled a list of websites that offers free wordpress blog hosting, listed in no particular order :

  1. wordpress.com
  2. http://blogsome.com
  3. http://weblogs.us (no ads)
  4. http://blogs.bizhat.com
  5. http://blogtastic.com
  6. http://www.lustjournal.com (for NSFW)
  7. http://www.tacticalblog.com
  8. http://www.blogthing.com
  9. http://ilblog.it/
  10. http://www.modblog.com
  11. http://wpblogs.com/
  12. http://webloog.com/

Note that most of these free blog hosting services offer WordPress-mu version, which uses a different template engine than the mainstream WordPress. Other features and plugins are compatible with the normal WordPress however.

p/s : Please add other WordPress hosting service to the list as I might miss out on something.