meta data for this page
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 2: Signin Screen in Home Screen Image 3: Discussion Screen Home Screen
Software
You can download linkedKnowledge from here, linkedknowledge.zip
Implementations
Most of the components we used from the vaadin except the xml reader part.
From Vaadin
- TextField, TextArea, Label, Button, Link button
- Layout (VarticalLayout, GridLayout, HorizontalLayout)
- Panel, SplitPanel
- 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 application zip file from the above link
- Application
- Create a new Vaadin project in Eclipse named linkedknowledge
- Extract zip package and move material to project.
- XML Data
- First, extract the linkedknowledge.zip and then collect KnowledgeLinkData.zip from the top of the directory
- Then, Extract the KnowledgeLinkData.zip and find KnowledgeLinkData.xml
- Put the xml file (KnowledgeLinkData.xml) in your local pc
- Open the project and go to “HardConfig” and change the file path.(path where you copied the xml file)
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.
- TextFields:
It was used to collect user information.Such as user id and password.
- TextArea:
It was used to display the details of the discussions when click on the search list.
- 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
- Loading SplitPanel in child window makes things strange, for example, when I load a new screen in a child window which is simple component type and was loaded ok, except it was extended from SplitPanel.