1. ESCENARIOS FUTUROS DE LA EDUCACIÓN SUPERIOR
1.2. Estudios de futuro: tendencias emergentes desde el contexto glocal
All tables present in the schema have an “ID” field which is used to insert new elements into tables. This value is created locally by SQLite, as opposed to local ID fields on tables (e.g., DocumentID) which are inserted into the table directly from the API.
Adventure Table
The adventure table holds records relating to Geotagger Adventures. An adventure is a grouping of users and tags where tags contributed by members can be seen and
149
responded to by all other members of the adventure. This table structure is described below.
• AdventureID:INTEGER - A primary key value used to uniquely identify adven- tures.
• OwnerID: INTEGER - A reference column used to relate an adventure to its creating user.
• Name: TEXT - The name or title given to the adventure.
• Description: TEXT - Text describing the adventure, its aim, location, etc.
• AccessLevel: TEXT- Visibility level of this adventure (e.g., protected or private).
• RoomID: INTEGER- Unique room key used for joining socket.io rooms.
• Created: INTEGER- Millisecond value representing when this record was created.
• Updated: INTEGER - Millisecond value representing when this record was last modified.
Collection Tables
The collection tables are junction tables and their children which are used to relate en- tities to collections. AdventureMemberCollection and AdventureTagCollection make up the collection tables, while AdventureMember and AdventureTag represent the junction tables.
Collection tables represent a collection of entities (e.g., users and tags) which can be grouped together at the adventure level. This provides adventure coordinators
with fine-grain control over what tags are available to the various members of the adventure. Collection tables take the following form.
• CollectionID: INTEGER - A primary key value used to uniquely identify collec- tions.
• AdventureID:INTEGER- A reference column used to relate this collection to its parent adventure.
• Name: TEXT - A name or title given to the collection.
• AccessLevel: TEXT- Visibility level of this adventure (e.g., protected or private).
Junction tables are used to map between the collections and the individual entity rows that are a part of the collections. In this way, a many-to-many relationship is achieved. Here multiple collections may contain multiple entities, likewise multiple entities may be a part of multiple collections. Junction tables take the following form. • CollectionID:INTEGER- A reference column used to relate this mapping to the
parent collection.
• EntityID:INTEGER- A reference column used to relate this mapping to the child entity (e.g., UserID, TagID).
Comment Table
The comment table represents records pertaining to responses left on tags. These comments consist of textual data, as well as optional image data.
• CommentID: INTEGER - A primary key value used to uniquely identify com- ments.
151
• TagID: INTEGER- A reference column used to relate this comment to its parent tag.
• OwnerID:INTEGER- A reference column used to relate a comment to its creating user.
• ImageID:INTEGER- A reference column relating a comment to image data found in the Document table (optional field).
• Body: TEXT - The textual body of the comment.
• Created: INTEGER- Millisecond value representing when this record was created.
• Updated: INTEGER - Millisecond value representing when this record was last modified.
Document Table
The document table represents all of the local “document” resources available to the application. This may include profile pictures, tag images, and comment images. Users are able to upload their own images via the application. A record of every image is kept in this table. This avoids storing multiple copies of the same image, thereby improving application speed and reducing network load. Table fields are described below.
• DocumentID: INTEGER - A primary key value used to identify documents.
Message Table
The message table was introduced with the real-time chat feature. Chat messages retrieved from the API, as well as messages created via the application are recorded here. Message table fields are described in the following list.
• MessageID:INTEGER- A primary key value used to uniquely identify messages.
• RoomID: INTEGER- The room to which this message record belongs.
• OwnerID:INTEGER- A reference column used to relate a message to its creating user.
• Body: TEXT - The textual body of the message.
• Created: INTEGER- Millisecond value representing when this record was created.
Tag Table
Tags represent an interesting landmark or environmental feature. Tags contain an image to visually identify the feature, as well as latitude and longitude coordinates so that other users may also find the feature. Tag table columns are described below.
• TagID: INTEGER - A primary key value used to uniquely identify tags.
• OwnerID: INTEGER - A reference column used to relate a tag to its creating user.
• Name: TEXT - The name or title given to the tag.
153
• ImageID: INTEGER - A reference column relating a tag to image data found in the Document table.
• Location: TEXT- A textual representation of a tag’s location (e.g., Boise, Idaho).
• Latitude: DOUBLE - Latitude coordinate value between -90 and 90 degrees.
• Longitude: DOUBLE- Longitude coordinate value between -180 and 180 degrees.
• NumberOfComments: INTEGER - The number of comments responding to this particular tag.
• Created: INTEGER- Millisecond value representing when this record was created.
• Updated: INTEGER - Millisecond value representing when this record was last modified.
User Table
The user table stores metadata for user accounts. Some of these fields are made available through the application to enable further exploration of that data, as well as the contributors of the data.
• UserID: INTEGER - A primary key value used to uniquely identify users.
• Username: TEXT - An identifying name for this user.
• Email: TEXT- Email address used in registering.
• ImageID: INTEGER - A reference column relating a user record to image data representing the user’s profile picture (optional field).
• Location: TEXT - A textual representation of the user’s location (e.g., Boise, Idaho).
• Biography: TEXT - A short biography describing the user’s background and interests.
• Quote: TEXT - A quote which the user found particularly inspirational.
• Role: TEXT - The user group that this record falls into (e.g., role-scientist, role-citizen).
• Created: INTEGER- Millisecond value representing when this record was created.
• Updated: INTEGER - Millisecond value representing when this record was last modified.