Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An open-source PHP web application and presentation engine for RDF data stored in files, e.g. your FOAF profile. It allows you to aggregate and publish data from multiple web sources via Linked Data.
PHP
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
cache
foafpressapp
test
.gitignore
.hgignore
.htaccess-example [add] add comments and explanations to the htaccess template
LICENSE
Makefile
README.markdown
botinfo.php
fp-config.php-example [mod] improve routing for resource controllers
index.php

README.markdown

About Foafpress

Foafpress is planned as a small presentation engine for your FOAF profile and other RDF data stored in files. It allows you to aggregate and publish data from multiple web sources via Linked Data. Currently a proof of concept implementation is under testing, for now Foafpress works with files in RDF/XML, Turtle & N-Triple. I want to add some more standard templates for basic vocabularies like FOAF, DOAP and SIOC.

Please read upcoming announcements on my Foafpress feed at Identi.ca.

How it works

All requests on RDF files (resources) under the Foafpress root (what is where the Foafpress .htaccess is located in) will be routed through Foafpress to deliver exactly what is requested. RDF stuff to RDF clients, a nice HTML representation to standard web browsers.

Install Foafpress

If installation does not work please report bugs, errors and your suggestions how to improve Foafpress as well as this document, thank you!

Requirements: Apache web server with mod_negotiation, mod_dir and mod_rewrite, PHP 5.3 or newer. You can enable the required modules by starting:

sudo make enable-modules

in your foafpress root directory (after cloning, see next step)

Note: All code examples are valid for a standard installation of Ubuntu Linux. If you use another Operation system or another Linux distribution please adapt it.

1. Copy Foafpress to your web server

Currently we do not offer archive downloads, Pear channels, Phars or Debian packages. Please clone it via Git:

$ cd /var/www/
$ git clone https://github.com/haschek/Foafpress.git foafpress

or Mercurial:

$ cd /var/www/
$ hg clone http://bitbucket.org/haschek/foafpress foafpress

2. Prepare cache folder, Install libraries

Using the makefile

$ cd foafpress/
$ make install

That will prepare the cache folder and installing all necessary libraries. You can go to 'Configure Apache' now. The makefile provides also some other options, e.g. installing/updating only a specific library. Call make in your Foafpress directory to see more.

Manually

Foafpress needs read/write access to the cache folder. You could grant read/write access to all (anonymous) users but it is recommended to grant this rights only to your user and the user group of your www user.

$ cd foafpress/
$ sudo chown youruser:www-data cache/
$ sudo chmod 6770 cache/

You need to install some libraries, Foafpress needs SPCMS, Arc2 and the RDF Template Object for PHP. Using Git:

$ cd foafpressapp/libraries
$ git clone https://github.com/haschek/Sandbox-Publisher-CMS.git spcms
$ git clone https://github.com/haschek/arc2.git arc2
$ git clone https://github.com/haschek/RDF-Template-Object.git rdfto

or Mercurial:

$ cd foafpressapp/libraries
$ hg clone https://sandbox-publisher-cms.googlecode.com/hg/ spcms
$ hg clone http://bitbucket.org/haschek/arc2 arc2
$ hg clone http://bitbucket.org/haschek/rdf-template-object rdfto

3. Configure Apache

Second, you need to configure Apache that all resource requests of RDF files are answered via Foafpress: use the template for the .htaccess file and please follow the instruction there, basically you need to replace all occurrences of /path/to/ with the base URI of your Foafpress installation. If Foafpress is located in /var/www/foafpress/ the replacement would be only /foafpress/.

$ cp .htaccess-example .htaccess
$ gedit .htaccess

4. Configure Foafpress

Foafpress itself comes with several options to configure, you can use the example template for the user config file, uncomment and edit the line you want to change. The template is documented extensive.

$ cp fp-config.php-example fp-config.php
$ gedit fp-config.php

If you only want to test Foafpress, or do not need any customizations on templates/layout you can ignore options for templates and plugins. It is recommended to configure caching and the language stack. If you decide to use Foafpress on your public server please configure the production mode.

5. Run Foafpress

Now Foafpress should work. Please check out one of the test resources which are located in the test sub folder.

For instance, if you have installed Foafpress on your local machine under /var/www/foafpress/ then run http://localhost/foafpress/test/desirejeanette in your web browser. If Foafpress is working properly you should see something like this:

Foafpress screenshot: rendering a foaf:Person example (v 0.0)

In case Foafpress does not work please check also the trouble shooting page.

Now you could copy your own foaf:Person profile to the foafpress folder and do further testings. Would be nice to hear some feedback, thank you!

Something went wrong with that request. Please try again.