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?
© Copyright 2026 Paperzz