Giter VIP home page Giter VIP logo

avro-schema-editor's Introduction

Avro Schema Editor

The aim of this project is to provide a graphical Avro Schema editor based on Eclipse technologies.

Visit the Apache Avro site here.

The latest specifications of Avro Schema can be found here.

This project focuses on the following points:

  • graphical representation of an Avro schema
  • ergonomics
  • performance
  • customization

Installation

This project is basically an Eclipse plugin. The installation is quite simple:

  • fetch the project
  • build it (mvn clean install)
  • launch Eclipse
  • Select "Install New Softwares..." >> "Add repository" >> select the p2 repository generated by the build 'org.talend.avro.schema.editor.repository/target/repository'
  • restart Eclipse

The plugin defines an Eclipse editor binded to text files with ".avsc" file extension.

First Avro schema

To create your first Avro schema, right click in project explorer and select "New..." then "File", enter "sample.avsc" name and click on "Finish".

Quick presentation of the editor

The Avro schema editor is divided in two parts, a left one displaying the schema in a tree viewer, and a right one displaying the attributes of the current selected element in the tree.

We use specific icons in order to distinguish the different types of element (e.g. orange icon for a record, green icon for enumeration, dark blue icon for fields, light blue for opional fields, and so on).

The tree label displays the name of the elements and their type between brackets (e.g. for record elements we display "record" and for fields we usually display the name of the primitive type).

The schema tree provides a maximum of legible information, but not all the information, it is why we have the right part displaying all the information of a selected element.

The attribute viewer displays obviously the standard avro attributes (namespace, name, doc, and so on). It displays customized attributes and sometimes editing features (as the 'optional' button which allows to set a field as optional).

Editing features

The use of a tree viewer provides all the standard interactions: selection, drag and drop and so on.

We have access to editing features by three ways:

  1. a bottom toolbar provides the main editing features: add a new element, remove selected elements, move up or down selected elements, make a copy and paste it.

  2. a right click on the tree opens a popup menu providing the same editing features.

  3. we can also perform drag and drop of a selected element. The result depends on the kind of the selected and target elements:

    • for a field, drag and drop allows us to reorder the fields of a record, or to make a copy of a field.
    • for a record, drag and drop offers three options:
      • we can move the selected record onto a new place in the schema.
      • we can make a copy of this record.
      • we can make a reference on this record. This allows to change the type of the target field. Of course the ref record is exactly the same as the original record. If we edit the original record, the ref record will be automatically updated to take account of the changes.

All the editing features are undoable.

Advanced features

To be defined

Full example

You can see below an example of a complex schema using all the kind of Avro elements.

You can see below the corresponding figure.avsc file.

{
	"type": "record",
	"name": "Figure",
	"namespace": "org.example.com",
	"fields": [{
		"name": "name",
		"type": "string"
	},
	{
		"name": "identifier",
		"type": "long"
	},
	{
		"name": "date_of_creation",
		"type": ["null",
		"long",
		"string"],
		"doc": "Can be defined in two ways: a long (which represents the number of milliseconds since January 1, 1970, 00:00:00 GMT) or a string (DD-MM-YYY format)"
	},
	{
		"name": "origin",
		"type": {
			"type": "record",
			"name": "Point",
			"fields": [{
				"name": "x",
				"type": "float"
			},
			{
				"name": "y",
				"type": "float"
			}]
		}
	},
	{
		"name": "shapes",
		"type": {
			"type": "array",
			"items": {
				"type": "record",
				"name": "Shape",
				"doc": "Define a shape.",
				"fields": [{
					"name": "name",
					"type": ["null",
					"string"]
				},
				{
					"name": "type",
					"type": [{
						"type": "enum",
						"name": "ShapeType",
						"symbols": ["Circle",
						"Triangle",
						"Cross",
						"Square"]
					},
					"string"],
					"doc": "The type of the shape."
				},
				{
					"name": "anchor",
					"type": "Point"
				},
				{
					"name": "width",
					"type": "float"
				},
				{
					"name": "height",
					"type": "float"
				},
				{
					"name": "angle",
					"type": ["null",
					"float"]
				},
				{
					"name": "color",
					"type": {
						"type": "record",
						"name": "Color",
						"fields": [{
							"name": "red",
							"type": "int"
						},
						{
							"name": "green",
							"type": "int"
						},
						{
							"name": "blue",
							"type": "int"
						},
						{
							"name": "alpha",
							"type": ["null",
							"int"]
						}]
					}
				},
				{
					"name": "properties",
					"type": ["null",
					{
						"type": "map",
						"values": "string"
					}]
				}]
			}
		},
		"doc": "List of shapes defining the figure."
	}]
}

Customization

To be defined

Contributing

We welcome contributions of all kinds from anyone.

License

Copyright (c) 2006-2017 Talend

Licensed under the Apache Licence v2

avro-schema-editor's People

Contributors

coheigea avatar fmoussallam avatar timbault avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

avro-schema-editor's Issues

Record reference order

  • Currently the editor allows to add a reference of a record which is defined lately.

image

  • An error is occurred when saving the schema

image

Tooltip

Actually a black tooltip is showed when there's nothing to show, it would be nice to show nothing
image

Security Policy violation Repository Administrators

This issue was automatically created by Allstar.

Security Policy Violation
Users are not allowed to be administrators of this repository.
Instead a team should be added as administrator.

To add a team as administrator From the main page of the repository, go to Settings -> Manage Access.
(For more information, see https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories)


This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

Security Policy violation Binary Artifacts

This issue was automatically created by Allstar.

Security Policy Violation
Project is out of compliance with Binary Artifacts policy: binaries present in source code

Rule Description
Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

Remediation Steps
To remediate, remove the generated executable artifacts from the repository.

Artifacts Found

  • org.talend.avro.schema.editor/lib/avro-1.8.2.jar
  • org.talend.avro.schema.editor/lib/jackson-core-asl-1.9.13.jar
  • org.talend.avro.schema.editor/lib/jackson-mapper-asl-1.9.13.jar
  • org.talend.avro.schema.editor/lib/slf4j-api-1.7.25.jar

Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

Json formatted schema supported

Hi Talend,

Thanks for open sourcing this great avro schema editor. I wonder if it's possible to add json formatted schema too? The use cases could be open a json/avsc formatted schema file and save as json/avsc schema files

Support Java 9+

The current project does not compile with Java 10. It is the Maven plugin-in in particular that fails:

[INFO] avro-schema-editor-parent .......................... SUCCESS [ 0.124 s]
[INFO] org.talend.avro.schema.editor ...................... FAILURE [ 14.867 s]
[INFO] org.talend.avro.schema.editor.feature .............. SKIPPED
[INFO] org.talend.avro.schema.editor.repository ........... SKIPPED
[INFO] Talend Avro Schema Editor POC 0.0.1-SNAPSHOT ....... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:11 min
[INFO] Finished at: 2018-09-18T18:06:05+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:1.0.0:compile (default-compile) on project org.talend.avro.schema.editor: Compilation failure: Compilation failure:
[ERROR] /Users/myuser/git/avro-schema-editor/org.talend.avro.schema.editor/src/org/talend/avro/schema/editor/edit/handlers/AddElementPropertyTester.java:[1]
[ERROR] package org.talend.avro.schema.editor.edit.handlers;
[ERROR] ^
[ERROR] The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

Did not find "p2 repository" after build the project.

Hello,

I had the project installed and running before. After my MacBook received an update and reset, the plugin cannot be found in Eclipse.

I tried to rebuild the project. But could not locate the "p2 repository". I even tried to re-clone the project and build it from scratch. Still no luck.

Do you know anybody else may experience the same/similar issue? Any idea what may cause that? I also included the build output below, in case it may be helpful to identify the problem.

Thanks a lot!

============= Build Output =============
mvn clean install
[INFO] Scanning for projects...
[WARNING] No explicit target runtime environment configuration. Build is platform dependent.
[WARNING] No explicit target runtime environment configuration. Build is platform dependent.
[WARNING] No explicit target runtime environment configuration. Build is platform dependent.
[INFO] Computing target platform for MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/pom.xml
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/
[INFO] Adding repository http://download.eclipse.org/releases/neon
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/neon/
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/neon/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201705151400/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201705151400/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201703141400/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201703141400/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201703231000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201703231000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201606221000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201606221000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201609281000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201609281000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201610111000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201610111000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201612211000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/neon/201612211000/
[INFO] Resolving dependencies of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/pom.xml
[INFO] Resolving class path of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/pom.xml
[INFO] Computing target platform for MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.feature:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/pom.xml
[INFO] Resolving dependencies of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.feature:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/pom.xml
[INFO] Resolving class path of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.feature:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/pom.xml
[INFO] Computing target platform for MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.repository:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/pom.xml
[INFO] Resolving dependencies of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.repository:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/pom.xml
[INFO] Resolving class path of MavenProject: org.talend.avro.schema.editor:org.talend.avro.schema.editor.repository:0.0.1-SNAPSHOT @ /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/pom.xml
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] avro-schema-editor-parent [pom]
[INFO] org.talend.avro.schema.editor [eclipse-plugin]
[INFO] org.talend.avro.schema.editor.feature [eclipse-feature]
[INFO] org.talend.avro.schema.editor.repository [eclipse-repository]
[INFO] Talend Avro Schema Editor POC [pom]
[INFO]
[INFO] ------< org.talend.avro.schema.editor:avro-schema-editor-parent >-------
[INFO] Building avro-schema-editor-parent 0.0.1-SNAPSHOT [1/5]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ avro-schema-editor-parent ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ avro-schema-editor-parent ---
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/avro-schema-editor-parent/pom.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/avro-schema-editor-parent/0.0.1-SNAPSHOT/avro-schema-editor-parent-0.0.1-SNAPSHOT.pom
[INFO]
[INFO] ----< org.talend.avro.schema.editor:org.talend.avro.schema.editor >-----
[INFO] Building org.talend.avro.schema.editor 0.0.1-SNAPSHOT [2/5]
[INFO] ---------------------------[ eclipse-plugin ]---------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:build-qualifier (default-build-qualifier) @ org.talend.avro.schema.editor ---
[INFO] The project's OSGi version is 0.0.1.201805141548
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:validate-id (default-validate-id) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:validate-version (default-validate-version) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ org.talend.avro.schema.editor ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/src/main/resources
[INFO]
[INFO] --- tycho-compiler-plugin:1.0.0:compile (default-compile) @ org.talend.avro.schema.editor ---
[WARNING] Parameter 'useProjectSettings' is set to true, but preferences file '/Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/.settings/org.eclipse.jdt.core.prefs' could not be found!
[INFO] Compiling 443 source files to /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ org.talend.avro.schema.editor ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/src/test/resources
[INFO]
[INFO] --- target-platform-configuration:1.0.0:target-platform (default-target-platform) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:package-plugin (default-package-plugin) @ org.talend.avro.schema.editor ---
[INFO] Building jar: /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/target/org.talend.avro.schema.editor-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:p2-metadata-default (default-p2-metadata-default) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ org.talend.avro.schema.editor ---
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/target/org.talend.avro.schema.editor-0.0.1-SNAPSHOT.jar to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor/0.0.1-SNAPSHOT/org.talend.avro.schema.editor-0.0.1-SNAPSHOT.jar
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/pom.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor/0.0.1-SNAPSHOT/org.talend.avro.schema.editor-0.0.1-SNAPSHOT.pom
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/target/p2content.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor/0.0.1-SNAPSHOT/org.talend.avro.schema.editor-0.0.1-SNAPSHOT-p2metadata.xml
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor/target/p2artifacts.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor/0.0.1-SNAPSHOT/org.talend.avro.schema.editor-0.0.1-SNAPSHOT-p2artifacts.xml
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:update-local-index (default-update-local-index) @ org.talend.avro.schema.editor ---
[INFO]
[INFO] --< org.talend.avro.schema.editor:org.talend.avro.schema.editor.feature >--
[INFO] Building org.talend.avro.schema.editor.feature 0.0.1-SNAPSHOT [3/5]
[INFO] --------------------------[ eclipse-feature ]---------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ org.talend.avro.schema.editor.feature ---
[INFO] The project's OSGi version is 0.0.1.201805141548
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:validate-id (default-validate-id) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:validate-version (default-validate-version) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- target-platform-configuration:1.0.0:target-platform (default-target-platform) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:package-feature (default-package-feature) @ org.talend.avro.schema.editor.feature ---
[INFO] Building jar: /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/target/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:p2-metadata-default (default-p2-metadata-default) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:feature-p2-metadata (default-feature-p2-metadata) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ org.talend.avro.schema.editor.feature ---
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/target/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT.jar to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.feature/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT.jar
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/pom.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.feature/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT.pom
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/target/p2content.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.feature/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT-p2metadata.xml
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.feature/target/p2artifacts.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.feature/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.feature-0.0.1-SNAPSHOT-p2artifacts.xml
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:update-local-index (default-update-local-index) @ org.talend.avro.schema.editor.feature ---
[INFO]
[INFO] --< org.talend.avro.schema.editor:org.talend.avro.schema.editor.repository >--
[INFO] Building org.talend.avro.schema.editor.repository 0.0.1-SNAPSHOT [4/5]
[INFO] -------------------------[ eclipse-repository ]-------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-packaging-plugin:1.0.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ org.talend.avro.schema.editor.repository ---
[INFO] The project's OSGi version is 0.0.1.201805141548
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ org.talend.avro.schema.editor.repository ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/src/main/resources
[INFO]
[INFO] --- target-platform-configuration:1.0.0:target-platform (default-target-platform) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:1.0.0:publish-products (default-publish-products) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:1.0.0:publish-categories (default-publish-categories) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-p2-publisher-plugin:1.0.0:attach-artifacts (default-attach-artifacts) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-p2-repository-plugin:1.0.0:assemble-repository (default-assemble-repository) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] --- tycho-p2-repository-plugin:1.0.0:archive-repository (default-archive-repository) @ org.talend.avro.schema.editor.repository ---
[INFO] Building zip: /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/target/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT.zip
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ org.talend.avro.schema.editor.repository ---
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/target/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT.zip to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.repository/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT.zip
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/pom.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.repository/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT.pom
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/target/p2content.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.repository/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT-p2metadata.xml
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/org.talend.avro.schema.editor.repository/target/p2artifacts.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/org.talend.avro.schema.editor.repository/0.0.1-SNAPSHOT/org.talend.avro.schema.editor.repository-0.0.1-SNAPSHOT-p2artifacts.xml
[INFO]
[INFO] --- tycho-p2-plugin:1.0.0:update-local-index (default-update-local-index) @ org.talend.avro.schema.editor.repository ---
[INFO]
[INFO] ----------< org.talend.avro.schema.editor:avro-schema-editor >----------
[INFO] Building Talend Avro Schema Editor POC 0.0.1-SNAPSHOT [5/5]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ avro-schema-editor ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ avro-schema-editor ---
[INFO] Installing /Users/lgao/Projects/git/avro-schema-editor/pom.xml to /Users/lgao/.m2/repository/org/talend/avro/schema/editor/avro-schema-editor/0.0.1-SNAPSHOT/avro-schema-editor-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] avro-schema-editor-parent .......................... SUCCESS [ 0.147 s]
[INFO] org.talend.avro.schema.editor ...................... SUCCESS [ 3.145 s]
[INFO] org.talend.avro.schema.editor.feature .............. SUCCESS [ 0.115 s]
[INFO] org.talend.avro.schema.editor.repository ........... SUCCESS [ 1.074 s]
[INFO] Talend Avro Schema Editor POC 0.0.1-SNAPSHOT ....... SUCCESS [ 0.036 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 42.710 s
[INFO] Finished at: 2018-05-14T10:48:53-05:00
[INFO] ------------------------------------------------------------------------

support "save as ..."

It would be nice to enable "save as..." option so the scheme could be saved as a different filename

Custom properties removed when file saved

When an avro schema (avsc file) contains any custom properties for any of its elements, the custom properties will appear in the custom properties section of the form. However, when the file is saved after any edits, these custom properties get stripped from the file.

For example, if we had a schema file containing a custom property that tags fields as containing personal identifying information ("pii" : "true"):
...
"fields" : [ {
"name" : "id",
"type" : "string"
}, {
"name" : "fname",
"type" : "string",
"pii" : "true"
}, {
"name" : "lname",
"type" : "string",
"pii" : "true"
}, {
...
Although the custom properties will appear in the schema editor, when you save the file after any changes the custom properties will no longer appear:
...
"fields" : [ {
"name" : "id",
"type" : "string"
}, {
"name" : "fname",
"type" : "string",
}, {
"name" : "lname",
"type" : "string",
}, {
...

UTF8 support

Labels and names should display correctly for non-ascii character sets, particularly UTF-8.

Security Policy violation Dangerous Workflow

This issue was automatically created by Allstar.

Security Policy Violation
Project is out of compliance with Dangerous Workflow policy: no workflows found

Rule Description
Dangerous Workflows are GitHub Action workflows that exhibit dangerous patterns that could render them vulnerable to attack. A vulnerable workflow is susceptible to leaking repository secrets, or allowing an attacker write access using the GITHUB_TOKEN. For more information about the particular patterns that are detected see the Security Scorecards Documentation for Dangerous Workflow.

Remediation Steps
Avoid the dangerous workflow patterns. See this post for information on avoiding untrusted code checkouts. See this document for information on avoiding and mitigating the risk of script injections.

Dangerous Patterns Found

Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

What would be the best way to add a field that of type "array" or "map"?

As for now, when add a new field, the default "type" only contains primitive types. What if I want to add a field that of type "array" or "map". Moreover, what if I want to add a field that is an "array" of self-defined "record" type?

I can modify the raw file and change the field to be type of "array" or "map". Just wondering are there a better and easier way to do that?

Thanks for your attention and help!

Security Policy violation SECURITY.md

Allstar has detected that this repository’s SECURITY.md security policy is out of compliance. Status:
Security policy not enabled.
A SECURITY.md file can give users information about what constitutes a vulnerability and how to report one securely so that information about a bug is not publicly visible. Examples of secure reporting methods include using an issue tracker with private issue support, or encrypted email with a published key.

To fix this, add a SECURITY.md file that explains how to handle vulnerabilities found in your repository. Go to https://github.com/Talend/avro-schema-editor/security/policy to enable.

For more information, see https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository.

This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

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.