Designing a database for Picto Selector – status and user pictos

Status

The local storage (phase 1) is now working and i’m continuing with testing the multi user / network storage.

Conflicting changes and users

The biggest thing with a network version is the situation when multiple people are changing a picto sheet. I’ve solved it by introducing users. Everyone who starts Picto Selector will have to log in with some initials (no password). And you can only change the picto sheets that belongs to that user.

If you change something to a sheet then you will get the option to copy the sheet to yourself. A copy with the change will be yours. The original will be untouched.

When multiple people login with the same initials then optimistic locking is used which means that anyone can make changes but when somebody else saves his changes first then you can no longer save your changes until you refresh your information.

There is a default user installed when creating the database. It’s initals are ‘root’ and it is the administrator who can make changes to all picto sheets.

Using picto sheets of older Picto Selector changes

At the first login on a windows account the picto sheets that were created with an old version of Picto Selector will be imported and assigned to the used user initials.

Photo and user pictos

Both the photos and user pictos were causing some headache because in a network situation you do not have access to the source of the photos unless they are located on the server. But then there is still a problem if I want to add synchronization later.

My solution is to insert user pictos as photos and store the visible part of a photo image in the database. The nice side effect is an increased speed of the photo pictos. When showing a photo picto the earlier stored image is used. When you want to change a photo picto then the original photo will be used unless it is not available. In this situation the image in the database is used.

The user pictos list will be stored in the database for each computer/windows account. So people can have different sets of user pictos. I might add a server pictos option later on.

What’s next:

  • Add a user manager, so we can change the initials/name of a user or delete a user (only when he has no picto sheets left) (2010-12-04 done)
  • Implement a dialog to change the storage / network location of the database in a user friendly way (2010-12-07 done)
  • Improve the feedback when someone else has deleted a picto sheet which you want to open (2010-12-04 done)
  • Implement the synchronization functionality which includes a way to compare conflicts, do a first synchronization when a connection with new/another database is  made.
  • Create some documentation how to install the network version and use the synchronization (2010-12-07 network installation done)
  • Test test test

Until i’m certain of the correct working of the database version I will continue to add new symbols on the old (non database) version. It could take a while before i’m satisfied.

About Picto-Selector

Creator of Picto-Selector, father of 3 children, one of them Autistic
This entry was posted in Picto Selector. Bookmark the permalink.

1 Response to Designing a database for Picto Selector – status and user pictos

  1. Peter says:

    Hello
    You are doing a great job! I couldn’t hope, that things are developing so fast.

    Thanks a lot and have some good silent days for X-mas!
    Peter

Leave a comment