Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.
-
Upload
cecil-osborne -
Category
Documents
-
view
217 -
download
0
Transcript of Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.
gnizr-feedUniversity of Maryland, Baltimore CountyCMSC 691S/491S
Paul SwensonAlice Carback
Presentation AgendaProject Selection
Project Idea
Considerations
Plan and Design
Project Goals
Initial Prototype
Simplified View of Database
Implementation Details
Core Gnizr Mods
Backend
Frontend
Complications /Known Issues
Conclusions
Lessons Learned
Future Work
Project SelectionAlice Carback
Project Idea #1• Create a News Feed feature for gnizr
• Level of Challenge: 4
• Develop a new “Community” page that displays the latest user activities in a News Feed page similar which featured in Facebook. User activities may include events such as editing bookmarks and tags, changing bookmarks’ geotags and subscribing to new RSS feeds.
Considerations
Do you want to introduce social networking capability?
Do you want to provide certain privacy protection feature?
How can you effective arrange the display of similar information, so that the News Feed page will not look too cluttered?
Plan and DesignAlice Carback
Project Goals
Create a feed feature similar to the one on the Facebook homepage that provides community members with an overview of the latest activity
Users should be able to see- Bookmark postings- Feed subscriptions- Folder modifications- New tags and users
Initial Prototypegnizr-feed mockup
Simplified View of Databasethese are the tables we looked at using
Implementation DetailsPaul Swenson
Core Gnizr ModificationsAdded created_on field to tag table
Updated createTag stored procedure to set created_on field to NOW() when tag created
Added newsfeed to the tab bar by editing gnizr-ui-menu.properties
Overloaded gnizr-config.xml with a custom version to change database name + db authentication
BackendCreated class for handling data (FeedItem)- Uses customized DAO (FeedDao/FeedDBDao) to
collect data- Process data for output- Send data to template
Stored procedures rather than raw SQL
Still used most of Gnizr: changed only as needed
Worked around having to modify other Dao objects by creating a single custom Dao to encapsulate new functionality
FrontendReused gnizr icon graphics
Added feed action as community page
Feed page output had two stages- Output every “event” on its own line- Clump time-similar “events” for cleaner look
Clean, readable design
Frontend - 2
FeedAction class is leveraged multiple times
Used to provide data to main gnizr-feed FTL (via FeedDao)
Used to provide data to RSS gnizr-feed FTL (also via FeedDao)
ComplicationsPaul Swenson
Known Issues - 1
• Common issues that we also encountered:
Learning curve for frameworks
Properly using external resources folder
Initial database username/password
Documentation spread out among a number of different web sites, not always clear where to go for help
Known Issues - 2
Set up Tomcat on personal server- Directions provided mostly for running on
Windows via Eclipse
Environment issues: Linux vs. Windows- Some configurations were different“Knowing” Java not a sufficient pre-requisite, requires in-depth knowledge of Maven build chain, Spring and WebWork frameworks
ConclusionsPaul Swenson
Lessons Learned
Gnizr has many interesting features
Take your time to learn the frameworks
Schedule enough time to meet for the project
Difficult to see potential without people
Future Work(gnizr-feed 1.1!)
• Given more time, we would enhance gnizr-feed with the following improvements:
Better (smarter) output- number limit of results- better grouping of result types
Privacy settings
More social features (friends, fans, comments, etc)
Prettier, better commented code
Eliminate hardcoded values, store configuration settings in an xml file that users can overload/edit
Demo!!! + Questions???Paul Swenson + Alice
Carback