Giter VIP home page Giter VIP logo

template-studio's Introduction

Accord Project Template Studio

A simple Web-based editor for Accord Project templates.

For template authors

The Accord Project Template Studio is live at https://studio.accordproject.org

For contributors

The template studio is a work in progress and we are very interested to hear from you. Let us know what you like or don't like about the template studio, report bugs or suggest new features by opening a GitHub issue.

Install and run locally

You can run the template studio on your machine by doing:

npm install
npm run start

Go to http://localhost:8080


Accord Project Logo

GitHub license Join the Accord Project Slack

Accord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the Linux Foundation. The technical charter for the Accord Project can be found here.

Learn More About Accord Project

Contributing

The Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.

Find out what’s coming on our blog.

Join the Accord Project Technology Working Group Slack channel to get involved!

For code contributions, read our CONTRIBUTING guide and information for DEVELOPERS.

README Badge

Using Accord Project? Add a README badge to let everyone know: accord project

[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)

License

Accord Project source code files are made available under the Apache License, Version 2.0. Accord Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0).

Copyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See LF Projects Trademark Policy.

template-studio's People

Contributors

dependabot[bot] avatar dianalease avatar dselman avatar irmerk avatar jeromesimeon avatar martinhalford avatar mttrbrts avatar nithilan4 avatar sidhyatikku 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

template-studio's Issues

Models imported with a URL do not get loaded

When updating a model file with a new import with a from URL the model manager does not load the model.

E.g.,

Starting from the hello world template, and adding this line:

import org.accordproject.address.PostalAddress from https://models.accordproject.org/address.cto

Does not provide access too the address type.

More responsive UI

The Template studio layout should take better advantage of the screen real estate available, whenever possible.

Welcome page

It might be nice to have a welcome page in the template studio, maybe with the following options:

  • Search template library
  • New template (text only)
  • New template (full)
  • Drag and drop archive
  • Load archive from URL

Fixes to download archive

The current download archive button sometimes does not yield a consistent cta archive (e.g., sample is not saved from UI state).

Add git like changes for viewing non-standard contracts

It would be helpful for anyone reviewing a contract to see what changes have been made, Like git differences.

This would be especially handy if this is a standard contract that everyone in the idustry used. It would be easy to spot the differences between current contract and the one in the github repository.

image

Global replace support

When editing, it would be nice if changes to the contract text (e.g., name of a party) could be replaced everywhere in the contract.

This might require some level of UI tooling (e.g., a 'search/replace' button) but also require improvements to the template support in Cicero (e.g.,: accordproject/template-archive#4)

Model tabs

The model tab is nested for no good reason, model files should be moved to the top-level tab.

TSv1 use of monospace fonts is broken on Windows

TSv1 uses Menlo by default and the CSS does not fall back to a reasonable monospace fonts. Menlo isn't supported on Windows so this breaks the UI. This is particularly confusing with the error messages which rely on monospace:

Screenshot 2019-10-26 at 2 59 27 PM

setState should follow React best practice

currently, the pattern used for setting the React component's state is dangerous because const state = this.state does not clone this.state. it's a reference to the state object, which means when you assign state.loading = false you are mutating the state object directly. we could deeply clone the state object and modify the clone, but what we should really do is usesetState to update just the properties on state we want to update.

for example, the current code:

handleLoadingFailed(message) {
        const state = this.state;
        state.loading = false;
        state.loadingFailed = true;
        state.log.loading = message;
        this.setState(state);
    }

would become:

handleLoadingFailed(message) {
        this.setState({
            loading: false,
            loadingFailed: true,
            log: {
                ...this.state.log,
                loading: message
            }
        });
    }

Changing model namespace

The template studio does not handle namespace change in the model properly.

Currently, it returns a hard to understand error, because it fails to find the model that has been changed in the model manager.

(Reported by @mttrbrts)

Download link for individual files in the Test Execution panel

When using a template archive locally (for example with cicero execute), I may want to seed/reuse the JSON and Text values from Template Studio.

We could make this easier by adding a download button (or link) to each of the fields in the Test Execution panel. It would also be helpful to be able to download the sample.txt and grammar.tem individually too.

Add new models and new logic files

Currently, the number of models and logic files is fixed based on the loaded templates. It would be good to be able to add new empty model or logic files.

Upload of template archive

Upload of template archive files would allow for 'roundtripping' of templates. For example, a lawyer could create the grammar and model, download the template and share it with their engineer, the engineer uploads the template and adds the Ergo logic etc.

Template Studio configured in IIS as website is not showing anything on launch page.

Hi,
I am trying to configure template studio project into the IIS 8. Gave the "...\template-studio\src" path into the site physical path.
Node.js other projects are working fine on my machine via IIS. But "template-studio" is not working correctly. Only white page with "Contribute on GitHub" label is visible.

When I run this project via "npm run start" project runs successfully at localhost:8080.

I am running Windows 8.1 x64
Internet Information Services 8.5.9600.16384

Can someone please help me in configurations?

Version 2

We modularize Template Studio into a set of discrete React components, which interact via Redux.

Ergo (Logic) Editor

Concerto (Model) Text Editor

Concerto (Model) Graphical Editor

Concerto (Model) Form-based Editor

  • Viewer/editor for Concerto models as a set of class declarations, with properties specified using actions and forms (Add Concept, Add Transaction etc).

Template Library Component

Clause Plugin

Contract Editor (extends markdown-editor)

Concerto Form Component

Package.json Editor

  • Based on Monaco JSON file support

README.md Editor

  • Based on markdown-editor

"Reset" v "Reset Contract" confusion

'Reset' is used in two places with very different meaning: for the whole template, and for the contract state when testing execution.

screen shot 2018-12-07 at 12 42 05 pm

This can be a big confusing. We might want to rename those buttons (e.g., "Revert changes" and "Initialize Contract").

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.