Git Product home page Git Product logo

onlinewardleymaps's People

Contributors

christiandavis avatar circleview avatar damonsk avatar demeringo avatar dependabot[bot] avatar jawn avatar michaelekins avatar shaunbulbrook avatar tmotyl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

onlinewardleymaps's Issues

Grammar to link submaps

Would it be possible to extend the grammar to support submaps?

Clicking a submap component would navigate to the specified address of a lower level map.

submap Name [Y, X] VarName

var Name Value

The convention used in Atlas is a component with a solid fill:

components

Example script:

submap Order Pipeline [0.8, 0.6] OrderPipelineMap

var OrderPipelineMap "https://onlinewardleymaps.com/#clone:zYTNMRLQKvdbVFVNGi"

Improve usage guide.

As more elements of a map are added, the usage guide is getting too long - a better way to display is probably needed.

Screenshot 2020-01-23 at 21 46 18

Enable initial positioning without co-ordinates

A good workflow in the app would be to create components in the text editor using component foo, have them initially position themselve around [0.9, 0.1] and then position them using drag and drop.

Trying to evolve a component in the editor causes the map to misbehave

Expected Behavior

When I change the evolution value on a component, I expect to see the node move and the relationships redrawn around them

Current Behavior

If I adjust an evolved X coord I see that the relationship lines are redrawn at the target position, but the component node stays exactly where it was previously.

Possible Solution

This is likely connected to no state change being detected on the element itself. (A prop on the containing element will need to be updated for react to re-render the relevent markup)

Steps to Reproduce

  • Open the tool.
  • Click "Example Map"
  • Change evolution value of 'Kettle'

Add test coverage to react app

There is currently no coverage in the app.

It might be an idea to add snapshot tests to the exisiting components.
I'm not a big fan of snapshot testing, but it will at least give a dev a smell if an update changes something unexpectedly.

"Offline" map generation

When we create maps, we rarely create one, but usually a series of related maps that build on each other. Being software bods by background, we'd like to manage these in git, using branching or rebasing. Eventually we would look to build map generation into gitlab pipelines as well.

CLI map generation from markup?

The web tool is quite nice for authoring, and the human-readable markup is great to easily create them and modify without even a mouse.

But, I'd like to be able to manage these maps in a git repo, for example, to track changes over time. And perhaps would want to generate SVG or images from the markup. Perhaps even use this in an IDE/editor preview plugin (think PlantUML).

Is there already a CLI version of the tool that could work in this environment?

Novel components create lines of future

I often map future scenarios in which the introduction of a new component creates a future value chain. It would be great to be able to mark components as "future" and have any edges connecting them be marked as line of future.

Host in Kubernetes

As I am not be able to create wardleymaps publicly I would like to host onlinewardley maps on our K8s cluster.

Add "anchor" variable

Since all the maps should start with user needs, it may be a good idea to add a new variable "anchor" which would be somewhat different from the standard "component" and clearly show where everything starts.

Short-forms for commands

Rather than typing component, it would be nice just to be able to do "c" etc.

title = t
component =c
evolve = e
inertia = i

Use a grammar for the input definition

Have you thought of using a grammar to describe the syntax? Would make coping with its evolution a lot cleaner.

I'm guessing you'd like to constrain it to be a regular language so that the syntax highlighting keeps working? Or is that a secondary consideration?

Grammar to render pipelines

Would it be possible to extend the grammar to render pipelines?

Perhaps the semantics could be similar to evolve

evolve Name (X Axis)

A pipeline could be defined as

pipeline Name [X Axis, X Axis]

After exporting a PNG of the following map. I used a graphics editor to overlay the pipelines. It would be so useful to script these instead:

title Evolution of Work
style wardley

anchor Business [0.95, 0.28]

component Human Capital [0.84, 0.23] label [-95, -10]
component Capital [0.85, 0.33] label [4, -9]
component Automation [0.29, 0.50] label [2, -10]
component Systematization [0.45, 0.24] label [-94, -16]
component Craft [0.67, 0.21] label [-41, -9]
component AI [0.07, 0.55] label [2, -10]

Business->Human Capital
Business->Capital
Human Capital->Craft
Craft->Systematization
Capital->Automation
Systematization->AI
Automation->AI

Evolution-of-Work

Automatic y layout

It would be great to be able to leave the y co-ordinate unspecified and have the system place the y values automatically. I think it would be possible to do all the manual placement using either an "anchor" flag (this could be a specialisation of 'component'?) or in relative terms to other components (to indicate "above", "below" and "same level"). Potential syntax for this map http://onlinewardleymaps.com/#KrcjD8Z9VHpFhOxJaC

anchor A [.5]
component B [.3]
component C [.6]
component D [ .4]
component E [ .2]

A -> B
A -> C
B -> D
C -> D
D -> E

B = C
E ^ D

Better error handling in drag and drop of components

I've had a couple of situations where I've picked up a component and something has happened meaning that it won't drop, and remains stuck to the pointer. The only way I've managed to get out of this state is to save and reload the map.

Would be better to have some general exception handling that returns the component to its pre-drag position if any exception occurs during drag or drop.

Repro:

  1. Define a component with component foo []
  2. Try to drag it
  3. Change the definition to component foo [.8,]

Allow comments

Would be really handy to be able to add comments to source and to block comment sections out.

I'd prefer // for line quotes and /* ... */ for block comments.

Would be fine to stick to line comments for now to keep things simple.

Make flow annotations sensitive to current and future

Since flows can change when components evolve the annotations to flows should be sensitive to 'current' and 'future' conditions.

Example:
Team Z+'Facilitating'<Platform Team // Annotation shall only be visible to current flow Team Z+'X-as-a-Service'>Platform Team // Annotation shall only be visible to future flow Team Z+'X-as-a-Service'<>Platform Team // Annotation shall be visible to both flows

Create a map of onlinewardleymaps

Would be great if we could make a docs/maps folder and start populating it with some maps of the app anchored to different users.

Example map fubar

Can't work out what's going on, but pressing "Example map" yielded this:

image

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.