Gnizr Feed


Published on

Final presentation for the gnizr-feed fork of Gnizr. More info here:

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Paul: Hi, I’m Paul Swenson Alice: I’m Alice Carback Somebody: Our project is Gnizr-Feed!
  • Gnizr Feed

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