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:
- 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.
Comments