Group 3:linkedKnowledge

Members

Azad Md. A K (student Id: 0346802)

Azam MD. F(student Id: 0361755)

Sheuly Sumsunnahar(student Id: 0361917)

Idea

This application(linkedKnowledge) is mostly like a forum, though we called it as “a knowledge based social networking”. Basically, the application LinkedKnowledge is a tool for people as a discussion board to exchange knowledge. Therefore, someone can create a Topic and then can be items added as many wants. Discussions happen under the items generally e.g. If IT (Information Technology) is a Topic and then VAADIN is an item there to discuss. So, any kind of area can be discussed between knowledgeable and interested people who wants to exchange view and learn.

However, this application enable people to be connected through exchanging knowledge, so, that's the idea and justification of this application naming, specifications and features.

Service

Planned Features :

User can Signin and Login in the system.

Without login, user can view all the things except any kind of entry in the application.

User find all Topics (Items are under each Topic) in the home page in different sections separated as different topics.

Items are clickable (Button) to open a new window where the discussion found in a table as Title, Author, Posted Date for each row.

This new Window has a table (to show individual post each line in short form), text area (detail discussion of selected post from the table), subscribe (if loin user, then click on it and get email notification when ever any new post for this item), like it button for a specific post, audio and video player (if posted).

Following services are Low priority for this version:

Then a Subscribed Item can also possible to be unsubscribe.

user can post discussion data as a new or as a reply of an existing post.

category of posted data can be Text, Audio, Video, File attachment and so on.

People can can also communicate real time through the Chat services of this application.

Implemented Features

Home Page (Including)

Log in

Sign in

List of all Discussion Topics and Items

Discussion Window

Show discussion data according to the clicked item from Home page

Information shows in the table as Title, Author Posted Date and Reply Button

If a row is selected, detail discussion shows in the bellow Text area.

All information are fetched from an XML file.

User Login information are stored in a Object List (only for runtime storage).

Screenshot(s)

Here is some basic screen shots of the application linkedKnowledge

Image 1: Home Screen Image 1: Home Screen Image 2: Signin Screen in Home Screen Image 3: Discussion Screen Home Screen

Software

You can download linkedKnowledge from here

Implementations

Most of the components we used from the vaadin except the xml reader part.

From Vaadin

Vaadin Ui package for TextField,Label,Button,Link button etc

Layout (vartical layout,Grid layout,horizontal layout)

Panel, split panel

Window,Child window

Notification

Table(grid)

Form

Theme Resource

Tooltip

Sizeable interface

From others

standared java package (e.g java.io.file , java.util)

org.w3c.dom,org.xml.sax.SAXException,javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder (for reading the XML file)

Instruction to run software

Download the source from the above link

Unzip it

next step (TO DO)

Copy the KnowledgeLinkData.xml file in c:\ drive

Vaadin Review

List of components used,most of the compenents was ok to use

Window:

window was used to create sub windows.Which shows the Description of the selected topic.

Label:

Label were used to display some sentence.Labels working well.We tried to display image on the label.

SplitPanel:

It was used to divide page in two parts.Left one for login and right one is used for discussion subjects.This component is easy to use.

Button :

We used many buttons for discussion subjects and also for login process.We also put icon on the button.

Vertical and Horizontal Layout:

to manage UI layout.

Text fields:

It was used to collect user information.Such as user id and password.

ThemeResource:

Themeresource was used to put icon on theButton.It pretty much easy to use.

Sizeable component:

Used to size the window.Its working well.

formLayout:

To manage component in the panel.

Table:

used for discussion display the list of title,posted date and name of the author.

Tooltip:

we used it to display massege on Button.

Notification:

used when unauthorised user login.

List of impressive things during coding

Very lightweight components for UI

Tables (grid),window components are useful

List of problem encountered during coding

Took time to understand the framework package hierarchy

Had problem with using the resource themes and CSS

Had problem with using relative path for resource the from vaadin application(thats why we used absolute path for file path)

Refresh from the server was slow