Prototype

From The Socknet

Jump to: navigation, search

This page has grown stale. Look for updates later this week. Or skip it and look at the code that's out at https://sourceforge.net/projects/foomor-socknet/ .

The Prototype

The prototype Socknet provider is now available at http://proto.foolishmortal.org . It is open for registration.

It is currently possible to create an account using a free OpenID either from http://user.foolishmortal.org/ or from a web site you operate yourself and can add Socknet information to.

If you'd like to start another article or website about a separate prototype, please link to it from here.

History

This section contains some notes about the prototype being built by User:Dan. If you do not have privileges on this wiki to start an article, request them from User:Dan.

  • This starts as a bare-bones prototype to test the minimum amount of effort that is required.
  • Tables:

The main tables:

user (userid, openid, name)
	primary(userid)
	unique(openid)

Each user owns data in the following tables:

user_message (userid, owner, id, owner_type, text, created, last_edit, md5, deleted, parent_owner, parent_id, parent_owner_type, replies_accepted, access_denied)
	primary(userid, owner, id)
	
user_friend (userid, openid, name, is_friend)
	primary(userid, openid)
	
user_friend_request (userid, openid, message_id)
	primary(userid, openid)
	
user_service (userid, serviceid)
	primary(userid, serviceid)
	# if we could be sure that all services had protocols, we wouldn't need this table

user_service_protocol (userid, serviceid, protocol, public_data)
	primary(userid, serviceid, protocol)

  • Notice that every table is user-specific, except the users table itself. Each user can have a different view of the content of the Socknet.
  • Technically the prototype could be one-step simpler by assuming that only one user will use the provider. But it's an unlikely case that a provider will want to support just one user. It's a fun idea though.
  • The next step in this case (and probably in most cases) will be to add fields for basic privacy
Personal tools