IKS Blog  The Semantic CMS Community

VIE/Palsu

From IKS Project
Revision as of 13:17, 21 September 2011 by Rene.Kapusta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Palsu is an interactive meeting tool that is used to demonstrate capabilities of VIE. The idea is to create a tool for coordinating both online and real-world meetings. This means being able to manage:

  • Meeting scheduling
  • Agenda for meetings
  • Collaboratively written meeting notes
  • Action points (tasks) that arise in the meeting
  • Participants of the meeting, and action points assigned to them

Palsu comes from the Finnish word for a "meeting". There is a public demo of Palsu running on palsuapp.info.

Contents

Views

List of meetings

The main view of the application is a list of meetings. The list should contain the title of the meeting and the date.

Next to the list of meetings there should also be an Add button allowing users to create new meetings.

meetings-list.png

Individual meeting

The view of an individual meeting is split into three areas:

  • On the top there is the meeting title and agenda
  • Below that there is a discussion area where participants can write their notes. This is basically a group chat.
    • Meeting messages may contain annotations. For example, Henri should write a specification could be annotated with Henri being a person, and write a specification being a task assigned to him
  • On the right-hand side there are lists of content lifted from the meeting contents. This includes at least two lists:
    • People includes meeting participants and people mentioned in the meeting notes. This could be visualized by grouping people by organization, a bit like in BaseCamp
    • Action Points includes all tasks mentioned in the meeting. Here it should also be possible to assign tasks to people and mark them as completed

meeting.png

List of tasks

There should also be a view of all tasks assigned to the current user across all meetings. Here the user should be able to go to the meeting where the task was assigned, and to mark tasks as completed.

Use it!

To login you need to use your Twitter account. It works best with Google Chrome browser, Firefox should also work. Start at: http://palsu.me

The following functions should be available:

  1. create a new meeting and join in
  2. take part in any existing meeting
  3. write posts in the chat panel - press send! 
  4. edit the agenda of the meeting - double click to start editing
  5. create tasks
    1. write a task text in chat input (e.g. "do more of this and that")
    2. mark the text
    3. click on the clock symbol in format pane below the "I"
    4. you can assign a task to one of the other participants or a twitter follower [*]of you: type 3 chars > autocomplete > select person with cursor down > press enter
    5. choose due date from date picker
    6. post message with send button
    7. task should appear in tasks tab >
  6. manipulate tasks
    1. make a task completed by simply clicking on it
    2. edit a single task or edit e.g. the due date
    3. see all tasks of all meetings at the tasks page http://palsu.me/t
  7. annotate entities (people) automatically via stanbol
    1. post a message containing names of entities, e.g. persons ...
    2. persons should appear automatically in the mentions tab
  8. annotate people manually
    1. mark in text
    2. click on people symbol from format pane
    3. type 3chars > autocomplete > select cursor down > press enter
    4. person should appear in the mentions tab


Note: [*] You'll get only the latest 100 followers. You may use a separate tab for the tasks page: http://palsu.me/t Geeks may lookup triples with Triples Lister.

Technical implementation

Palsu is a web application that requires a modern browser for meeting participants, and a simple Node.JS server. Communications between meeting participants is handled by passing JSON-LD entities over socket.io. This enables real-time collaboration during the meetings.

The user interface should be a single-page application to minimize unnecessary server interactions. This also makes it easier to later add offline capabilities.


Ontologies used

Development

Palsu development is managed using GitHub: http://github.com/bergie/ViePalsu

Future feature ideas

  • We could try to recognize tasks from the textual content, a bit like is done with the Sandy tool (but note, that thea were acquired by twitter in 2008 and are no longer available as service, see:


Installation

Instruction on how to install and run Palsu on your webserver / computer. Palsu is a Node.js applications using Redis as data server.


Environment

To run the Palsu app on your own computer you'll need the following components:


Palsu App

Download ViePalsu to your prefered location (/palsuapp/):

Install the required NPM packages:

  • run the command "npm install" in your /var/palsuapp/ directory to install the needed NPM packages (backbone browserify coffee-script connect connect-auth connect-redis express htmlparser jquery jquery-browserify jsdom oauth redis request socket.io socket.io-connect system underscore querystring)


User Authentication

Create a Twitter App for user authentication:

  • navigate to dev.twitter.com and create a new app -- use "http://localhost/oauth-signin" as "Callback URL" parameter (you just need read permissions for the app)
  • update "/var/palsuapp/"configuration.json and add the Twitter App Key and Secret values


Adjust the Palsu hostname and port in your configuration file:

  • update the "hostname" and "port" values in /var/palsuapp/configuration.json if needed


In your /var/palsuapp/ directory:

  • run the command "coffee nodejs/palsu.coffee" to start Palsu and navigate to http://localhost:8001 (default configuration port and host values) to login to Palsu


Remarks

To run the Palsu app as process on your server you could use: https://github.com/indexzero/forever

Personal tools
Early Adopters