metaforward

Description

Metaforard is universal information filtering tool. It works on the import, filter, export basis and let people easily sort and filter information depending on the given logic using metainformation (tags, languages, source, dates, etc.).

Overview

Metaforward instance (repository) consists of three parts:

  • importers
  • filter
  • exporters

Importers are used to suck-up information from the various sources, parse it and provide a filter with a nodes describing the content of the information.

Node is a set of meta:value pairs. I.e. this page can be briefly described by the "web" importer as (just an example):

source:http://dpc.ucore.info
url:http://dpc.ucore.info/lab:metaforward
author: Dawid Ciężarkiewicz
body: body of this page
tag:metaforward
tag:software
tag:idea
language:english
publish_date:date of publication
etc.

Importers can handle various sources:

  • email
  • RSS / ATOM feeds
  • web forums
  • twitter like pages
  • delicious like pages
  • XMPP pubsub node

All the nodes are passed to the filter which consist of some logic that can:

  • modify nodes
  • pass nodes to different exporters

Exporters are used to present the nodes to the outgoing channels like. They are just like importers only other way around. They will create RSS feeds, post to delicious, send emails, publish information on the pubsub node etc.

Purpose

The federation of such simple filtering gateways could be very useful in the world of information. Skilled user could easily automate the filtering of various information channels and with a front-end for non-technical users it could become popular for the masses as well.

Random sketches

Config syntax

Example idea of the configuration file is a text file like this:

deliciuos_importer toms_delicious {
  username: tom.unknown;
}

rss_importer slashdot {
  category: IT;
  category: questions;
}

filter main {
  source: toms_delicious;
  source: slashdot;
  rule: {
    condition: tag_exists {
      tag: unix
    }
    destination: my_personal_rss;
    destination: my_delicious;
}

rss_exporter my_personal_rss {
  file: /home/dpc/public_html/unix.rss
}

delicious_exporter my_delicious {
   username: myusername;
   password: mysecret;
}

Status

Well. The idea is nice. However I don't plan to implement it anytime soon.


Child pages (0)

Comments

Add a New Comment
Page tags: idea
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License