Giter Club home page Giter Club logo

obsidian-ca's Introduction

Cognitive Architect Sync plugin for Obsidian

This Obsidian plugin enables downloading of architectures from Cognitive Architect (aka IBM IT Architect Assistant) into Obsidian as notes and images. It does require a Personal Token from the Cognitive Architect support team.

What does it do?

Cognitive Architect is an architecture modeling tool. Obsidian is a writing app that enables linking of information (notes). It is highly extensible by plugins.

This plugin creates Notes in Obsidian of the architectural artifacts from Cognitive Architect. Using the Linking functionality of Obsidian, these Notes can be linked together and combined with other information. The vast Obsidian community plugin ecosystem allows for the integraton of other tools (mindmaps, Excalidraw, drawio, etc.) and functionality (like creating custom views with the Data View plugin). Obsidian Notes are stored locally on the computer in Markdown format.

How to use

  • Install the plugin from Obsidian: Settings -> Community Plugins -> Browse plugins -> search for "Cognitive Architect Sync" -> Install Plugin.
  • Enable the plugin.
  • In the plugin Settings (1, see screenshot below) enter the Base URL and the Personal Token (contact support for a Personal Token)
  • In the sidebar on the left (the ribbon) click the icon (2) of this plugin (a computer monitor with down pointing arrow).
  • The plugin is available on the right in the sidepanel (3)
  • Get a list of your architectures by selecting Refresh (4)
  • Select an architecture (5)
  • Select an artifacts and its instances, or download all artifacts at once (6)
  • The saved artifacts are shown in the File browser on the left (7)
  • View the artifacts by selecting them in the File browser (8)

Screenshot

Works better with

The plugin works better when the following plugins are installed and enabled.

  • the Obsdian built-in Templates functionality
    Templates define the formating of artificats in Obsdian notes. If no template is provided, a default format is chosen.
  • the Community Dataview plugin.
    Enabled the creation of views in your notes (for example a list of requirements associated with an artifact)

To develop your own templates and views see the Obsidian Example Vault for Dataview Queries for examples.

Features

  • Download architecture artifacts and save into Markdown format with frontmatter properties
  • Link artificats in notes and use Data View plugin to create customized views.

Development setup

Feel free to improve this plugin.

About

This plugin uses JavaScript, Typescript and Svelte. It is based on the Obsidian-Svelte-Starter template. Obsidian Plugin Developer documentation.

Setup

# for local development
npm install
npm run dev
// Or yarn dev

# for a production bundle
npm install
npm run build
// Or yarn build

Upload new version to Obsidian plugin registry

See Obsidian's instructions.

  1. Update version in manifest.json (and package.json)
  2. Build the plugin npm run build
  3. Add the changes to repo
git add .
git commit -m "description of changes"
git push
  1. create a release with a tag with the same version: https://github.com/bhavers/obsidian-ca/releases/
  • Add manifest.json, main.js and styles.css and Publish release

Description of files

File Description
manifest.json The Obsidian Manifest.
starterIndex.ts The starting point (extension of Plugin class)
src/CASettings.ts Settings menu
src/CAView.ts and CAViewComponent.svelte The main view (in the sidebar) of this plugin
src/CAArchInfoModal.ts and
CAArchInfoModalComponent
The Architecture Information dialog (that pops up after selecting the Information icon)
src/ModalPreviewInstance.ts and
ModalPreviewInstanceComponent
Dialog with a preview of the artificat (pops up after clicking the Preview icon)
lib/ca.ts The main logic to fetch data from Cognitive Architect
lib/ca-obsidian.ts Bridge between ca.ts (that retrieves artifact data) and Obsidian (storing data as notes)
lib/stores.ts Svelte Stores and type definitions
lib/ca-openapi.json, ca-schema.d.ts and
ca-schemaListArchitectures.d.ts
Typescript schema definitions generated from the Cognitive Architect OpenAPI definition
lib/progress.ts Progress bar component (used in CAView)

obsidian-ca's People

Contributors

bhavers avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.