Gnizr Feed

21
gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback

description

Final presentation for the gnizr-feed fork of Gnizr. More info here: http://code.google.com/p/gnizr-feed/

Transcript of Gnizr Feed

Page 1: Gnizr Feed

gnizr-feedUniversity of Maryland, Baltimore CountyCMSC 691S/491SPaul SwensonAlice Carback

Page 2: Gnizr Feed

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

Page 3: Gnizr Feed

Project SelectionAlice Carback

Page 4: Gnizr Feed

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.

Page 5: Gnizr Feed

ConsiderationsDo 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?

Page 6: Gnizr Feed

Plan and DesignAlice Carback

Page 7: Gnizr Feed

Project GoalsCreate a feed feature similar to the one on the Facebook homepage that provides community members with an overview of the latest activityUsers should be able to see- Bookmark postings- Feed subscriptions- Folder modifications- New tags and users

Page 8: Gnizr Feed

Initial Prototypegnizr-feed mockup

Page 9: Gnizr Feed

Simplified View of Databasethese are the tables we looked at using

Page 10: Gnizr Feed

Implementation DetailsPaul Swenson

Page 11: Gnizr Feed

Core Gnizr ModificationsAdded created_on field to tag tableUpdated createTag stored procedure to set created_on field to NOW() when tag createdAdded newsfeed to the tab bar by editing gnizr-ui-menu.propertiesOverloaded gnizr-config.xml with a custom version to change database name + db authentication

Page 12: Gnizr Feed

BackendCreated class for handling data (FeedItem)- Uses customized DAO (FeedDao/FeedDBDao) to

collect data- Process data for output- Send data to templateStored procedures rather than raw SQLStill used most of Gnizr: changed only as neededWorked around having to modify other Dao objects by creating a single custom Dao to encapsulate new functionality

Page 13: Gnizr Feed

FrontendReused gnizr icon graphicsAdded feed action as community pageFeed page output had two stages- Output every “event” on its own line- Clump time-similar “events” for cleaner look

Clean, readable design

Page 14: Gnizr Feed

Frontend - 2

FeedAction class is leveraged multiple timesUsed to provide data to main gnizr-feed FTL (via FeedDao)Used to provide data to RSS gnizr-feed FTL (also via FeedDao)

Page 15: Gnizr Feed

ComplicationsPaul Swenson

Page 16: Gnizr Feed

Known Issues - 1• Common issues that we also encountered:

Learning curve for frameworksProperly using external resources folderInitial database username/passwordDocumentation spread out among a number of different web sites, not always clear where to go for help

Page 17: Gnizr Feed

Known Issues - 2Set up Tomcat on personal server- Directions provided mostly for running on

Windows via EclipseEnvironment 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

Page 18: Gnizr Feed

ConclusionsPaul Swenson

Page 19: Gnizr Feed

Lessons Learned

Gnizr has many interesting featuresTake your time to learn the frameworksSchedule enough time to meet for the projectDifficult to see potential without people

Page 20: Gnizr Feed

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

Page 21: Gnizr Feed

Demo!!! + Questions???Paul Swenson + Alice

Carback