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

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

Transcript of Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Page 1: 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

Page 2: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice 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

Page 3: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Project SelectionAlice Carback

Page 4: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice 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.

Page 5: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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?

Page 6: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Plan and DesignAlice Carback

Page 7: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice 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

Page 8: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Initial Prototypegnizr-feed mockup

Page 9: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Simplified View of Databasethese are the tables we looked at using

Page 10: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

Implementation DetailsPaul Swenson

Page 11: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 12: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 13: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 14: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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)

Page 15: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

ComplicationsPaul Swenson

Page 16: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 17: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 18: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

ConclusionsPaul Swenson

Page 19: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Page 20: Gnizr-feed University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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 University of Maryland, Baltimore County CMSC 691S/491S Paul Swenson Alice Carback.

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

Carback