Definitions and acronyms

GeoLog – Project description, version ? 
Ana Petricic
This file is an internal document for the group. It represents requirements demanded by
our client and also requirements demanded by system. It contains a list of different
functionalities we should implement, for each group of users, data types, and web
interfaces description.
Please read it very carefuly, and have it in mind when starting planing project design.
Definitions and acronyms
Definitions
Keyword
location
content
location category
privileged user
Definitions
- Any place/object that user wants to write about
- Location consists of articles and comments written by users
- Location has its coordinates
- Location has its category
all information published by users. There are 2 types:
1. acticles (including images and links)
2. comments
- Locations are divided into categories for example continent,
city, park, hotel, restaurant etc.
- There is a location category hierarchy
- Every node in hierarchy (every category) can have child node
(subcategory) or leaves (locations)
- user with good ranking and a lot of articles
- content written by this user is published immediately and
checked later by CA
Acronyms and abbreviations
Acronym or
abbreviation
Definitions
System administrator
Content administrator
SA
CA
Data: location data, user data
1. Location data:
location ID
location name (user writes name when adding location)
location content
 article:
o there can be more articles written by different users
o article includes text, images and links
o article is formatted by user using rich text editor, article content is stored
as a string, including HTML tags (images and links)
o images are uploaded and stored into file on our server (using TinyMCE)
o registered users vote for interesting articles (they can vote for
every article in location)
o user can vote for an article only once – there is a table in DB
(userID, articleID) where we store votes
o article data: article ID, user ID, date, location ID, title, description,
content, ‘checked’ mark (indicates if CA checked it), ‘published’
mark (indicates if article is published)
 comments
o also many comments written by different users
o comments are related to locations (articles don’t have comments)
o comment data: its ID, user ID, date, location ID, title, text,
‘checked’ mark (indicates if CA checked it)
 NOTE: you need additional tables in DB: article, comment
location rank
 don’t forget you need to keep rank sum and number of votes, rank=
rank_sum/votes
 rank is also stored as a location attribute (so we can query locations using
this attribute)
 when user votes for an article it affects that location rank – new rank is
calculated (it also affects authors rank – see user ranking)
 VOTING PROCESS:
o check if user is allowed to vote (check in voting table if he hasn’t
voted for that article yet)
o add vote to voting table
o recalculate location and authors rank
popularity ranking:
 users can view most popular locations
 more popular locations are visible from higher altitudes in GEarth
 to avoid having one location constantly popular we keep last vote attribute:
it keeps last voting date
 most popular locations are those which have best ranking and also last
vote not older than a month
location category (hierarchy, editable!)
 Locations are divided into various categories
 Location categories are hierarchical
o Each category has its parent category (parent node in
hierarchy), except root category
o Each category can have its subcategories (child nodes in
hierarchy)
o Each category can contain locations (leaves in hierarchy)
 Content administrators can add a new location category
o when new location category is added it doesn’t have its CA
until SA assigns him
o nobody can add new locations into new location category until
SA assign CA for that category
 Deleting of location categories is not possible
 Location category data: its ID, name, parent category ID(parent node),
description
 NOTE: additional table for connecting location category and locations
it contains (location category ID, location ID)
 location can belong to more than one location category
 locations can’t move from one category to another
 at the start there is only root category - this category is not visible to
users, it is visible only to CA so that first level categories can be added
to hierarchy
location coordinates (when adding new location user chooses it on a map)
 latitude, longitude
 users can search locations choosing existing placemarks on a map, by
searching location categories or searching location name
location areas are also represented with only one point (user chooses that point
on a map when adding location, for example center of wanted area) – this
means that we don’t make difference whether is something an area or only
one point (maybe somebody later will extent this application with areas…)
if one location collocates with another location doesn’t matter, they are treated
as two different locations (there is no merging locations)
User data:
new user registration process:
 user gives information: user name (also used as a nickname), loginpassword (6-8 characters), e-mail, country, security question and an
answer in case of lost/forgotten password
 after registration confirmation e-mail with confirmation link is sent
 confirmation link contains users confirmation code and username (to
insure link is unique)
 user must click on confirmation link to activate his account (when user
clicks confirmation link, confirmation code and username are checked
and confirmation code is set to null)
 user data: user ID, username, password, e-mail address, country,
security question&answer, date, confirmation code, rank, number of
articles, number of votes, rank_sum, user type (CA, SA, normal),
banned
 NOTE: for security reasons user e-mail is not public
 NOTE: there is a table containing countries
lost/forgotten password process:
 user answers to security question

if answer is correct new password is generated and sent to his e-mail
(this is the easiest way, we will add possibility of changing user profile)
deleting users:
 only by SA (on demand)
 content that deleted user published is not deleted
 we must have one generic user (for example with ID=0,
username=Anonymous), and when deleting user, generic user becomes
author of all articles and comments written by deleted user
user rank
 users vote for interesting articles
 when some user votes for an article, it affects authors rank (it also
affect location rank), rank is calculated immediately (see VOTING
PROCESS above)
 NOTE: don’t forget you need to keep rank sum and number of votes,
rank= rank_sum/votes, we will also keep rank in DB so we can query
users by rank
User types: system administrator, content administrator, registered user, <public>
 There is a table in DB defining user types.
1. System administrators (only one person)
administer system properties
 installation properties: database type, database connection …
 define bottom boundary rank for user to become privileged user
 define number of articles for user to become privileged user
 NOTE: there is a table containing those system properties
administer users
 SA is able to edit ALL user data (user name, password, e-mail, country,
security question and an answer, ban status)
 deleting users, user is completely removed from DB (and when
deleting user, generic user becomes author of all articles and
comments written by deleted user)
assign content administrators
 content administrators must be assigned with location categories to
oversee
 there can be more CAs assigned for the same category
 SA can delete CAs - he becomes normal (registered user)
 SA can change categories assigned to some CA
publish news (about the system, for example ‘site under construction’)
2. Content administrators (more than one person depending on number of
categories/users)
oversee and administer content /locations
 checking if content that users publish is appropriate
 deleting bad content/locations
o when deleting article/location authors rank is decreased to 1
(out of 5, rank_sum=1, number of votes=1)
o when deleting comment authors rank is decreased to 1 (out of 5,
rank_sum=1, number of votes=1)
control registered user status
 user status: ban
 ban users that break the rules/publish bad content
 “un-ban” users
notified about new/changed content and new locations after logging in
 content administrator gets a list of new/changed content he has to
check
 new content is sent to all CAs assigned to particular category, when
one CA checks content, its status changes into ‘checked’ and it is not
sent to CAs anymore
 new content is divided into 4 groups
o new locations
o new articles that are not yet published
o new articles that are already published but not yet checked
o new comments
 NOTE: for privileged users articles are published immediately and
checked later by CA, for other users article is not published until CA
approves it
 NOTE: comments are always published immediately and checked later
by CA
 NOTE: every article has its status; checked or not checked, and
published or not published
 NOTE: CA can approve or disapprove new content. If content is
approved its status changes into ‘checked’ and ‘published. If content is
not approved, its status changed into ‘checked’ and ‘not published’.
(so we will not delete articles that are not approved, this is useful for
later upgrading)
 When adding new location user has to write an article for that location:
if location is discarded (deleted form DB), article is also deleted
 When checking new content CA can choose to see all (older, already
checked and published) articles/comments for that location
 When deciding to ban user CA can look at all content published by
user (if it helps him to make a decision)
administer location categories
 CA can add new location categories
 when CA creates new category a new location category is added into
DB, but its status is ‘not assigned’
 nobody can add new locations into new location category until SA
assigns CA for that category
CA can also discard already checked content

when viewing some location content CAs will have an option to
discard article/comment
 this option exist in case user reports some unsuitable content
publish news (for example warning to some users that break the rules,
notification if a user is banned etc.
CA also has all abilities that normal (registered) user has
3. Registered users:
add locations and location-oriented content (text, images, links)
 adding location process: uses chooses coordinates on a map, then he
chooses a location category, and finally writes an article about that
location
add articles to existing locations
add comments to existing locations
when user adds new location or article we check if he is privileged or not and
then publish content or not
vote for interesting articles
report unsuitable content (an e-mail is sent to responsible CA)
edit profile (change his information, he can change everything except
username)
view content (see anonymous)
4. Users (anonymous)
view content
 they are allowed to see ALL content that exists (news, locations,
comments, articles)
 users can search locations choosing existing placemarks on a map, by
searching location categories or searching location name
NOTE: they can’t vote for interesting content (we want to attract users to
register)
User interfaces:
web interface for system administrators
web interface for content administrators
web interface for registered users (content contribution)
GEarth/Map
1. Web interface for users
 Information showed for each location when listing locations:
o location name
o first article title
o first article description
o first article date and author
o location category
o location rank
 Information showed for each article when listing articles:


o Article title
o Article description
o Article date and author
Information showed for each news when listing news:
o News title
o News date and author
o First 200 characters of news text
Information showed for each comment when listing comments:
o Comment title
o Comment date and author
o Comment text
Home – starting page
 3 most popular locations listed
 Three latest news listed (only news title and first 100 characters of
news text)
 Login form or user menu if user is logged in
News page
 Last 50 news listed
 We will list 10 news per page (=max 5 pages) sorted by date
 Login form or user menu if user is logged in
Popular locations page
 10 most popular locations listed
 Login form or user menu if user is logged in
Locations page
 This is starting page for all activities related with locations
 User can choose to search locations by name (enter location name in
existing text box), to search locations on a map or to search location
categories
 User can choose to add new location if registered
 Login form or user menu if user is logged in
Search location categories page
 Categories tree view (for each category its description is shown)
 NOTE: we need DB caching layer since we will load whole tree at
once (there is still no better solution)
 Leaves of the tree are location names
 When user clicks a leaf SomeLocation page opens
 Login form or user menu if user is logged in
SomeLocation page
 Location category (whole path for example:
Food>Restaurants>Mexican restaurants, we can drop this if it is too
much)
 Location name
 Location rank
 All articles for location are listed




Last 15 comments for location are listed
We will list 15 comments per page sorted by date
Login form or user menu if user is logged in
Location menu: add article, add comment, report unsuitable comment,
view in GEarth
SomeArticle page
 Shows an article content
 Location category (whole path for example:
Food>Restaurants>Mexican restaurants, we can drop this if necessary)
 Location name
 Location rank
 Article title
 Article date and title
 Article description
 Article content
 Voting option if user is logged in
 Login form or user menu if user is logged in
 Location menu: add article, add comment, report unsuitable comment,
view in GEarth
2. Web interface for content administrators
Content administration page
 Page for administering content and users, visible only for CAs
 It is divided into several tabs
 Users tab:
o List of registered users (only user names)
o We will list 50 users per page sorted alphabetically
o For each user CA has option to see his information (username, email, country, number of articles, rank, ban status-and can change
ban status)
o For each user CA has option to see his comments (listing all
comments) and to see his articles (listing all articles-only article
titles)
 Articles tab:
o New articles are listed (only article titles) divided into two groups,
published and not published
o When user clicks some article title, CAarticle page opens
 Comments tab:
o New comments are listed (only comment titles)
o When user clicks some comment title CAcomments page opens
 Location tab:
o List of new locations opens (only titles)
o User can choose to add new location category
 News tab:
o User can choose to add news
o This is intended for later upgrading (editing published news)
CAarticle page
 Shows article CA has to check
 Location category (whole path for example:
Food>Restaurants>Mexican restaurants, we can drop this if necessary)
 Location name
 Location rank
 Article title
 Article date and title
 Article description
 Article content
 Administration options menu: approve, discard
CAcomments page
 Shows comment CA has to check
 Location category (whole path for example:
Food>Restaurants>Mexican restaurants, we can drop this if necessary)
 Location name
 Location’s comments are listed, with the comment to be checked
highlighted
 We will show 20 comments per page sorted by date
3. Web interface for system administrator
 Page for administering content and users, visible only for CAs
 It is divided into several tabs
 System properties tab:
o There are two text boxes for setting privileged user boundary rank
and privileged user minimum articles
 Users tab:
o List of registered users (only user names)
o We will list 50 users per page sorted alphabetically
o For each user SA has option to see/edit his information (all
information except username, password, e-mail, country, security
question and an answer, ban status), and also to delete user
 Content administrators tab:
o List of content administrators (only user names)
o We will list 50 users per page sorted alphabetically
o For each user SA has option to view/change categories assigned to
CA or to delete CA (he becomes ordinary registered user)
o SA has option to add new CA (then a list of all registered users
open)
 News tab:
o User can choose to add news
o This is intended for later upgrading (editing published news)
GEarth:
location filtering (kml files)
more popular locations are visible from higher altitudes (popularity-ranking)
integrating with other services (Panoramio??)
Other:
web display format depends on the client type (GE, Browser, midlet, …)
Additional requirements (not obliged, ONLY IF we’ll have extra time)
user profile (areas of interest, classes of interest, site settings, e-mail
notifications on new interesting content, …)
commercial content (administration, display, ..)
editing already published news
editing already published articles
merging locations, moving locations from one category to another
AJAX for category tree
mobile interface (PDA, smart phones):
 location view, location notifications, person notifications (based on
some criteria: group membership, profile similarity, …)
 adding content?