MyProfile intends to provide a solution for managing the numerous accounts and profiles that users have on the Internet. Its main purpose is to provide a unified user account, or simply 'user profile', which as opposed to current 'silo' profiles, would really be under the user’s control, on a device controlled by the user.
PHP JavaScript
Failed to load latest commit information.
api Added ajax loading for additional wall posts. Feb 11, 2013
css Added ajax loading for additional wall posts. Feb 11, 2013
img Added ajax loading for additional wall posts. Feb 11, 2013
js Added ajax loading for additional wall posts. Feb 11, 2013
lib Updated the email text. Feb 14, 2013
.gitignore Added gitignore file. Jan 25, 2013
LICENSE Initial release of MyProfile. Apr 20, 2012
README.rst Switched to new layout. Jan 17, 2013
account.php Fixed some minor issues. Oct 10, 2012
ajax_wall.php Added ajax loading for additional wall posts. Feb 11, 2013
atom.php Minor improvements. Apr 25, 2012
certgen.php Switched to new layout. Jan 17, 2013
dbschema.sql Added the "pairing" feature. Feb 7, 2013
export.php Minor fixes. Feb 7, 2013
favicon.ico Switched to new layout. Jan 17, 2013
footer.php Minor fixes. Feb 7, 2013
friends.php Minor fix for search bar. Feb 7, 2013
header.php Added ajax loading for additional wall posts. Feb 11, 2013
iframe.php Switched to new layout. Jan 17, 2013
include.php Added ajax loading for additional wall posts. Feb 11, 2013
index.php Initial release of MyProfile. Apr 19, 2012
index.php.html Switched to new layout. Jan 17, 2013
install.php Added the install script and default SQL structure. Jan 25, 2013
load.php Added SPARQL constant value when calling MyProfile(). Jun 11, 2012
lookup.php Minor fix to search bar. Feb 7, 2013
messages.php Minor CSS fix for personal messages. Jan 30, 2013
pingback.php Minor fixes. Feb 7, 2013
preferences.php Fixed a minor bug affecting the "Edit profile" button. May 13, 2013
profile.php Added necessary code to enable account recovery. Feb 7, 2013
recovery.php Added the "pairing" feature. Feb 7, 2013
robots.txt Minor fixes. Feb 7, 2013
shorthandle.php Switched to new layout. Jan 17, 2013
subscription.php Switched to new layout. Jan 17, 2013
view.php Minor fix for search bar and form methods. Feb 7, 2013
wall.php Added ajax loading for additional wall posts. Feb 11, 2013

README.rst

MyProfile :align: right

MyProfile intends to provide a solution for managing the numerous accounts and profiles that users have on the Internet. Its main purpose is to provide a unified user account, or simply ‘user profile’, which as opposed to current ‘silo’ profiles, would really be under the user’s control, on a device controlled by the user.

Homepage: http://myprofile-project.org/

License: MIT (see LICENSE file)

Installation

To install MyProfile, either clone the repository to your www dir (not recommended), or download the zip generated by GitHub. Next, simply point your browser to the install file: http://example.com/install.php and provide the required information.

Don't forget to check the Wiki for info on how to install your own CA: https://github.com/MyProfile/myprofile/wiki

External Dependencies

OpenSSL: MyProfile relies on OpenSSL to generate certificates. This means that you have to set up your own CA (Certification Authority). I have created a Wiki page on GitHub with more information on how to create the CA. To include the WebID URI inside the certificate, you need to have a special directive in the openssl.cnf file. These are the extra lines to be added:

SAN = ""
san = $ENV::SAN

MySQL: All personal messages and wall messages are stored in a MySQL database, which means you need to have access to a MySQL server.

php-curl: MyProfile uses php-curl for the semantic pingback protocol. Please not that you may also have to install the curl application itself (on debian systems: apt-get install curl).

Internal Dependencies

These dependencies come bundled with MyProfile. You can update them on your own, but I will try to keep them up to date as much as I can.

ARC2 - https://github.com/semsol/arc2

EasyRdf - https://github.com/njh/easyrdf

Graphite - http://graphite.ecs.soton.ac.uk/

WebIDDelegatedAuth - https://github.com/WebIDauth/WebIDDelegatedAuth

Important note regarding WebIDDelegatedAuth: if you want to use a different IdP, you will have to edit the file `lib/Authentication_X509CertRepo.php' and add the IdP's certificate in (PEM form) to the array of IdPs.

Documentation

At this point, the only existing documentation is the commented code. Until proper documentation will be available, do not hesitate to contact me with questions.

Disclaimer

I'm haven't tested MyProfile under Windows yet.