HHBlog

Introduction

This application will provide basic (simple) blogging capabilities. The main focus here is to experiment with some of the new JEE5 (JSF and Persistence) and NetBeans capabilities, and if possible provide an XML based UI.

Requirements

Functional

This prototype version of the HHBlog will offer only limited capabilities, therefore the features have been scaled back to only the simplest base capabilities.

This web application will provide basic weblog capabilities. There are two main parts of the HHBlog application:

HHBlog Administrator will enable a user with appropriate privileges to manage the various aspects of the weblog. HHBlog Viewer will enable users to view the weblogs, and where appropriate comment.

The HHBlog Administrator will be a stand alone application dedicated to creating blog entries and managing the overall blog. The HHBlog Viewer is assumed to be embedded in other web pages.

Navigation in the HHBlog Viewer will be achieved first by presenting month/year in a menu. The main display will show the aggregate of all blog entries for a given month/year. Navigation with the HHBlog Administrator will be achieved though the use of a table enabling access to all blog entries, and include search capabilities.

Technical

This application will make use of Java Server Faces for UI and navigation. The database will be wrapped using one of the many persistence frameworks supported by JEE5.

Where possible tags libraries will be utilized rather than Scriptlets.

The application will conform to the styling of the redesigned hhartley.com. This application will be embedded into a web page that includes navigation and menus of a larger portal application.

Database

The database will consist of the following structure which will provide for categorization (tagging) of blog entries, as well as mapping of comments to specific blog entries. It is assumed that all comments will inherit the tag of the blog entry.

The published flag will designate a blog entry or comment suitable for display. Those without published set to true/yes will not be published for viewing.

Pages

The application will consist of the following pages.

Admin Pages

Page Notes Button/Links Result
Admin Main Page This page will show a table with a subset of all blog entries. Buttons will support navigation forward and backwards in the blog entry database. Searching will be supported based upon date or subject. Editing of specific blog entries will be initiated from this page. Add Will navigate to the add page.
Modify Will navigate to the modify page.
Delete Will navigate to the delete page.
Search Search will perform a search based upon data entered on the input line.
Filter Will filter the blog entries to include only those entries having the same flags set.
Prev/Next These will be handled by the table control.
Configure Will navigate to the configuration page.
Admin Add Page This page will collect blog entry data and upon submit insert it into the database. Submit Submits data, and navigates back to Admin Main.
Cancel Navigates back to Admin Main.
Reset Returns the state of the input items to the values they were upon entry (Empty).
Admin Modify Page This page will present previously entered data, and allow its modification. Submit Submits modified data and updates the database. Navigates back to the Admin Main Page.
Cancel Navigates back to the Admin Main Page.
Reset Returns the state of the input items to the values they were upon entry (Empty).
Admin Delete Page This page will present the previously entered data and prompt the user if they are sure they would like to delete this blog entry. Submit Will delete the blog entry from the database.
Cancel Navigates back to the Admin Main Page.
Admin Config Page This page will present and prompt for configuration items. Specifically, tags will be setup on this page. Add Tag Will navigate to the add tag page.
Rename Tag Will navigate to the rename tag page.
Delete Tag Will navigate to the delete tag page.
Done Will navigate back to the Admin Main Page.
Admin Config Add Tag Page This page will prompt for the entry of a tag with a description. Submit Will insert the tag into the underlying database, and navigate back to the Admin config page.
Cancel Will navigate back to the Admin config page.
Admin Config Rename Tag Page. This page will prompt to rename a tag. Submit Will update the tag in the underlying database, and navigate back to the Admin config page.
Cancel Will navigate back to the Admin config page.
Admin Config Delete Tag Page. This page will prompt user if they are sure. Submit Will remove the tag (and all references to the tag) from the underlying database, and navigate back to the Admin Config Page.
Cancel Will navigate back to the Admin config page.

Viewer Pages

Page Notes Button/Links Result
Viewer Main Page The mainpage will show the most recent blog entry listed at the top of the page, with each successive entry being displayed for the last calendar month. Each entry can have one or more comments associated with it. To the left will be a menu of links of month and year showing a count. If these menus are clicked, the main part of the screen will show that months blog entries. For any blog entry, the viewer can click leave comment. Comment Navigates to the comments page.
Month/Year Link Loads the clicked month/year blog entries onto the page.
Tag Filter This may or may not be a visible control. In either case, setting the tag filter will limit the blog entries to those that are of a certain tag.

Running Application

To see this application in action, click here.

This application is not yet complete. Come back soon to view this application running.