Project:MembersPortal

The basic idea of this is to have a page where members can edit the details we need to keep on them for membership purposes. This should also allow an "admin" to create new members and "archive" old members.

Member Information Required
The only things that can't be changed in this table layout are "UID", "state" and "rfid serial"

Suggest we keep track of all changes over time for record keeping, if people change there nickname (happens a lot when a place expands and people want more unique names than) it is very useful to have a programmatic way of getting all there previous names etc.

Admin Actions
An admin should be able to:
 * Edit any data in database except unique user ID which should exist for as long as records need to be kept. New account would be better solution than changing this
 * Create a new record
 * Archive an old record (how this is done is upto whoever develops it)
 * After x days/months/years delete archived records

User Actions
A user should be able to:
 * View and edit their profile
 * Maybe view a limited subset of other peoples profiles?

Proposed Additions
Add the following database fields:
 * status (0 or 1, account enabled/disabled, this can act as an archive toggle)
 * date_created (timestamp of when the user was created)
 * date_last_accessed (timestamp of when the user last signed into the space)

Add a second databse table to be used as a log
 * id
 * timestamp
 * event (entered/exited the space)
 * sign in method

Introduce a timeout to automatically remove someone from the attendee list. For example, users 'state' gets updated after X hours of entering the space, as I imagine not everyone will remember to sign out.

I've come into this rather late! How do you sign out of the space ? --IBot 14:16, 6 March 2012 (UTC)

If we go for an open door button, it might be worth looking into using geolocation (http://html5demos.com/geo) to insure the user is within 0.1 miles of the space.

As for the login system, are we happy to use Google/gmail for authentication? It makes sense since everybody uses it anyway for the groups page. It's easier to manage too.

--

If we use openid people can choose their prefered service (inc google) Norro 18:53, 16 February 2012 (UTC)

I think we should split out an rfid table with ID (PK), UID (FK user), Rfid serial, allowed access and another table for personal details like address, etc. linked again by UID as both FK and PK. This would make it easier to sync a basic user and access table around the place so that it all still works even if internet access is down, etc. and means someone can be assigned a card without it working but still recognise a user eg. maybe if it was lost Norro 18:53, 16 February 2012 (UTC)

Do we need to have some personal fields editable only by the user and not by all in the table ? --IBot 14:13, 6 March 2012 (UTC)

[Category:Hackspace_Automation_Project]]