Collaboration™ Features

Below are some examples of the feature set provided by IntelliFactory Collaboration™ (IC).

Document Editor

Given a Document Template an editor is derived providing a User Interface for creating and editing documents.

Component content such as headers, text blocks and images can be rearranged using drag and drop facilities. Components may also by minimized allowing the editor to focus on parts of the document content.

At any time the current version of the document may be rendered by switching to preview mode.

External assets such as images or Pdf Documents may be added using the Digital Asset Manager.

If the Document Template allows it, assets may be embedded in Documents. Here, an Image component is used to embed an image.

The image is immediately visible in the preview mode.

Document-specific configuration is available from the Settings Tab. Given the configuration of the current Document Template, different aspects of the document may be customized. Here the document is added to the News Category, attached with the label Fun, and assigned the accessibility level Internal.

Document Management

Using the Manage Document Component facility, the user may view and edit available documents and assets.

Integrating IC into Your Applications

Documents may be managed programmatically or by using one of the pre-built web components. In the following example a WebSharper™ RPC method returning a list of News items is created.

A function for selecting the ten most recent documents filtered by the news category and the company group is defined as:

1
// 10 most recent public news documents from the 'Company Group'.
2
let private news (db : CollaborationDataContext) : seq<ArticleInfo> =                          
3
    [
4
        ByCategoryFilter [Settings.NewsId]
5
        ByGroupFilter [Settings.Company]
6
        ByPublishLevelFilter [Data.PublicLevel]
7
        ByMaxNumFilter 10
8
    ]
9
    |> ComposeFilters
10
    |> FilteredArticles db

The RPC method converts the sequence of documents (ArticleInfo elements) into a list of custom News elements by extracting some information about the documents including their rendered content.

1
/// List of public news elements
2
[<Rpc>]
3
let RenderedNews (categories: string list) : News list =
4
    let toNews db aI =
5
        let body = 
6
            Article.ArticleContent(db, aI.Id)
7
            |> Renderer.RenderDefault
8
            |> fun e -> e.Content                    
9
        { 
10
            Author = aI.AuthorName
11
            Title = aI.Title
12
            Date = ArticleDate aI |> showDate
13
            Body = body
14
        }                    
15
    let db = Data.DataContext()
16
    news db
17
    |> Seq.map (toNews db)
18
    |> Seq.to_list

Even though the above example relies on the WebSharper™ Platform and F#, WCS may be used within any .NET language.

About

Screenshots