/collabserver-example-mindmap

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

Mindmap example for CollabServer

Overview

This is a demonstrator project for the CollabServer Framework. A command-line client is created for manipulating Mindmap models, corresponding to the domain model, using a minimalistic instruction set.

Mindmap client commands

Commands line to work on a mindmap (this is WIP)

  • CREATE [type] [name] - Creates an instance with name [name] of the domain-specific type [type].
  • CREATE association [type] [sourceName] [targetName] - Creates an instance of the association type [type] between the correspondingly typed objects named [sourceName] and [targetName], respectively.
    • Note, that both CREATE commands conform to the same abstract signtaure CREATE [logicalType] [domaintype] [namedReference..], where [domainType] is the reference to the domain-specific type, and [logicalType] is the reference to the logical level type (present at the API), with the added syntactic sugar of Entity being the default [logicalType]. For details on domain-specific vs logical types, see this overview.
  • READ - Returns the mindmap model in a readable form.
  • UPDATE [name] [property] [value] - Updates property [property] in object [name] to value [value].
  • DELETE [name] - Deletes object [name].

Build (CMake)

  • Requirements
    • CMake
    • C++11
    • pragma once support
    • Tested with gcc 4.8.4
    • Tested with clang 5.0.0
    • Tested only on Linux. No support certified for Mac and Windows
# Build the tests

mkdir build
cd build
cmake ..
make

# Or use the build script
./build.sh
CMake option Description
CMAKE_BUILD_TYPE Debug, Release, RelWithDebInfo, MinSizeRel

Mindmap domain model

EA mindmap model