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.
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.
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.
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.
The application will consist of the following 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. |
| 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. |
To see this application in action, click here.
This application is not yet complete. Come back soon to view this application running.