Giter VIP home page Giter VIP logo

oca-editor's Introduction

OCA Editor

OCA Editor for creating and dealing with schema base & overlays.

Project setup

nvm use
npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

oca-editor's People

Contributors

blelump avatar dependabot[bot] avatar mitfik avatar olichwiruk avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

oca-editor's Issues

Make example easier to use

Currently there is example tprm.zip file under upload form which user have to download and upload manually. Make clicking zip file not download but upload as an example and open schema list.

Calculate hashlink for local files

Allow user to calculate hashlink for local file:
Simple input where user can choose the file. Browser locally would read the file calculate hashlink for him and display it below. File should not be uploaded anywhere.

Store application layer configuration

ODCA does not include information about presentation layer. Will be nice to have some basic layout configuration which can be easily portable.

We need to think about adding that to the specification.

The idea is to keep there information like:

  • required fields
  • hidden fields
  • layout of the form
  • etc.

Support for language in overlays

Some overlays like label, information have support for language means that use can decided which language they are meant for.

We need to figure out as well how to add support for multiple overlays with different language e.g. have lable overlay in PL, EN and DE in same time. Or upload OCA into the system and add new translation overlay.

Allow to import existing schema

Allow user to import existing schema by providing ipfs link or uploading the file directly.

Since schema is compose from multiple files we need to think how to handle that case.
Maybe we could have one big JSON LD file which could be uploaded.

Integrate with IPFS

While user finish process of creating objects, there should be a way to publish the objects directly on IPFS which automatically will provide DRI (decentralized resources identifier) which can be used to link objects (check how this would be compatible with Hashlinks)

Fail to export file

Steps to reproduce:

  • Create new schema (name + description)
  • add one text input, fill attr name, and control label and information
  • save
  • export

Expected: zip file with ODCA
Current state:

TypeError: "value is undefined"
printQuoted kotlinx-serialization-kotlinx-serialization-runtime.js:5502
printQuoted_61zpoe$ kotlinx-serialization-kotlinx-serialization-runtime.js:5476
encodeString_61zpoe$ kotlinx-serialization-kotlinx-serialization-runtime.js:5401
encodeStringElement_bgm7zs$ kotlinx-serialization-kotlinx-serialization-runtime.js:1862
serialize_awe97i$ odca.js:2897
encodeSerializableValue_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:5255
encode_0 kotlinx-serialization-kotlinx-serialization-runtime.js:1395
stringify_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:6236
stringify_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:6287
toDto odca.js:854
serialize odca.js:195
initOdcaCommunication odcaCommunication.js:34
VueJS 2
download FormBuilderTemplate.vue:51
download SectionComponent.vue:67
VueJS 3
vue.runtime.esm.js:1888
[Vue warn]: Error in event handler for "export_form": "TypeError: value is undefined"
(found in ) vue.runtime.esm.js:619
TypeError: "value is undefined"
printQuoted kotlinx-serialization-kotlinx-serialization-runtime.js:5502
printQuoted_61zpoe$ kotlinx-serialization-kotlinx-serialization-runtime.js:5476
encodeString_61zpoe$ kotlinx-serialization-kotlinx-serialization-runtime.js:5401
encodeStringElement_bgm7zs$ kotlinx-serialization-kotlinx-serialization-runtime.js:1862
serialize_awe97i$ odca.js:2897
encodeSerializableValue_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:5255
encode_0 kotlinx-serialization-kotlinx-serialization-runtime.js:1395
stringify_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:6236
stringify_tf03ej$ kotlinx-serialization-kotlinx-serialization-runtime.js:6287
toDto odca.js:854
serialize odca.js:195
initOdcaCommunication odcaCommunication.js:34
VueJS 2
download FormBuilderTemplate.vue:51
download SectionComponent.vue:67
VueJS 3

Control option cover supported controls

Control options partially cover supported controls without covering Reset and Save button which confuse user what for they are.

We should decide if we want to show options below supported controls or hide them while options are shown

Improve controls option

After placing control user needs to visit options to define basic properties.

Those options will generate proper overlays at the end.

Label -> Label Overlay
Control Type -> Schema base -> attr type
Name -> Schema base -> attr name
Default Value -> Entry Overlay
PII (checkbox) -> Schema base -> pii_attributes
language -> Apply language for all overlays create for that attribute
Information -> Information Overlay
Format -> Format Overlay
Encode -> Encode Overlay
Review (checkbox) -> Review Overlay
Source (checkbox) -> Source Overlay

All other properties available in the tool are not relevant for the ODCA and should be remove (see presentation layer for more details #12 )

Improve user flow after placing the contro

It is not obvious for the user that double click on the control gives options.

We need to make sure that user would be guided over the process and that it will be smooth for him.

To improve the process we could:

  • change double click on one click to select control and display options
  • after start dragging the input some bin should be showed so user can understand how to remove it (or just display delete on side of apply and cancel)
  • after dropping control options could be opened automatically

Contributing guidelines?

I'm super interested in ODCA and would love to help contribute to this tool. What are some issues I could tackle to help move this project forward?

Add publish to OCA repository

on side of export add publish button which would popup modal asking to which repository (default one add repository.odca.online - but allow to specify any link) and give all the hashes.

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.