wiki:ServerOverview
Last modified 15 years ago Last modified on 04/23/10 14:30:33

Server overview

  • Users
    • User must have the following properties
      • email
      • password
      • list of owned resources - by "owned" we'll understand resources that are created by the user, by default this list will be empty
    • User may have:
      • avatar - image, no matter the size the avatar have fixed dimensions , during upload the image may have to be re-sized. Size limitation should be pointed.
      • screen name - the name that will be shown to other users, by default this will be the mail of the user
      • description - text that describes the user
    • Users have read, write or no rights for all resources. If they don't have rights for certain resource, they don't see it at all.
  • Groups: Users can create groups and invite other users to it. User can "read" or "write" inside the group. By "write" we'll understand that they can change groups properties, invite or remove other users.The user that create a group will have the write rights over it. User with read rights will only be members of the group. Following properties are included:
    • name - required
    • avatar - same as user avatar
    • description
  • Behavior:
    • Overall the server itself should be configurable. Following properties should be adjustable:
      • Port - the default one is 8003
      • Mail that is used to send messages to the user. (All needed information for this to work) This won't have default value.
      • User activation via mail - the default behavior for this is to be disabled, however users should have the ability to enable this functionality. This way the user became active immediately after registration.
    • Forgot password: will send new password to user's email address.
    • Group invitation: email notification should present here
      • Rights to anonymous user - some small(local) servers may not need users. As default this user have only read rights.
  • Pages
    • Register user page: Should contain text input controls for all properties that the user can give input on
      • email - required
      • password - required
      • repeat password - required
      • upload image control - with description of size limitation
      • screen name
      • description
    • Edit profile: User should be able to edit his profile all the controls from above should present. However "password" field becomes "new password" and "repeat password" becomes "repeat new password".
    • Forgot password: user should be asked for email
    • Browse page: User should be able to browse the server resources.
      • Also should be able to filter resources by following criteria:
        • My resources - resources owned by the user
        • My books - books owned by the user
        • Books only
        • Images only
        • Sounds only
        • Movies only
        • Scripts only
        • PDF only
        • Flash Movie only
        • Frames only
        • Date filter - show resources updated or/and created inside time interval. Should be able to select two dates one for start and one for end. Also should select to display only updated or crated
      • Resources should be presented inside data grid with following columns
        • name
        • owner
        • group (if any)
        • date created
        • last update
        • NOTE: User should be able to sort the results by any of the columns
      • Search page
      • Search result page - same as browse
      • View Group page
      • Create Group page
      • Manage Group
      • Resource details: Every resource have detailed page, that include the following info and functionality
        • Preview resource - small thumb with preview
        • Entire meta data for the resource
        • open button
        • share button - allow the user to share the resource to other users or groups.
        • delete button
  • Book rights
    • The rights for the parent are applied to its children.
    • When a book is shared with the user he initially has only read rights.
    • Write rights should be given explicitly by other user with such rights.
    • Other way of granting rights to more than one user is using a group.
      • The user will have the higher right in case of overlapping book. (e.g. The group has read rights, the user before he was added to the group has write right, hence the user still has the right to read.)

Done at the end

This section explains in short what we have at the end of the project.

Client

  • Connectivity improvements - palette is updated on connection and upload.
  • Binary resources
    • transfer (upload/download) of binary resources to the server
    • no exception when there are missing resources
    • server resource palette transfer updates - There are automatically updated icons for notification about upload/download/ready/errors
    • Auto updating frames with missing content
  • Additional features
    • Book package format - current format could package book with linked resources in one file
    • All the resources in Sophie are linkable from the file system

Security

  • log-in with user name and password
    • After the user selects server and press connect (or double click on a server) - Dialog window pops up. This allow the user to identify himself. Fields for user name and password appear as well as button for data submission.
    • This window also provide "Log in as anonymous" functionality - this happen with default value inside user name field (Anonymous) and empty password.
      • In case the server url is from type [user name]@[server url]. The default value of the user name filed is the user name.
    • Error or success notifications appear next.
    • The tooltip over the add button says "Add connection" in order to be more consistent

Web UI

  • Security - user management
    • log-in functionality
    • register section and register new user functionality
    • edit profile functionality and section
    • read view profile section
    • recover forgotten password section and functionality
    • When entering the site user is logged in as anonymous. This means that he have accesses to all public data.

Server part

  • Actual data base persistence of resources
  • Server configuration
    • email password confirmation
    • smtp server