Giter VIP home page Giter VIP logo

hammer's People

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

Watchers

 avatar  avatar  avatar  avatar

hammer's Issues

Add auto-updater to Hammer

We need Hammer to have the ability to self-update in an easy way for the user on all 3 platforms - otherwise, people will be running versions that are way out of date.

QML signal for ValidationReport.WarningCount is never raised

Describe the bug
QML signal for ValidationReport.WarningCount is never raised - only QML signal for ValidationReport.ErrorsCount. This makes any bindings that depend on WarningCount not work. Read-access seems to be fine, though.

To Reproduce

  1. Validate a resource which has 0 errors and some warnings - you'll see that the warning count is never updated.
  2. or, change WarningCount to be updated after ErrorCount

Expected behavior
WarningCount should be updated correctly.

Additional context
Maybe the issue lies in it being a nested property?

Java validator errors when pasting content

Describe the bug
When you use the "Load it here" field instead of opening a file, and paste content in it, the Java validator errors with an exception:
"Exception in thread ""main"" java.lang.Exception: Unable to find/resolve/read -ig "

To Reproduce
Steps to reproduce the behavior:

  1. Copy a json resource text so it's on your clipboard
  2. Start Hammer and paste into the "Load it here" field
  3. Click "validate"
  4. See Java error

Desktop (please complete the following information):

  • macOS

Additional context
Since I pasted the content, there is no scope, and that might be the problem for the validator.

CLI options

It would be cool if Hammer could be kicked off using command line options to set the scope, load the instance and/or start the validation. I think it would help with repeat operations, for example when validating the same profile over a stretch of time, or when always using the same scope,

Drag and Drop doesn't work under Windows

Describe the bug
Dragging a file into Hammer works under Linux but not under Windows.

To Reproduce
Drag a file from explorer into Hammer - see blocked icon.

Expected behavior
An option to copy/move/etc the file should be given, and once you let go of the file, it should be loaded.

Desktop (please complete the following information):

  • OS: Windows 10

Additional context
See qmlnet/qmlnet#142 for the issue in Qml.Net.

Speed up consequent Java validation

Is your feature request related to a problem? Please describe.
Consequent .NET validation is much quicker because the specification is already loaded - but this isn't the case for Java, which has to load the specification every time.

Describe the solution you'd like
Perhaps some long-running Java process and do IPC to it? Not sure on the design yet - ideas welcome.

Additional context
Any resulting solution needs to work on Windows, macOS, and Linux.

Output report in human-readable text format (Markdown?)

Is your feature request related to a problem? Please describe.
Right now the errors can be copied to CSV format. If you want to communicate with coworkers or report the errors on the command line, it would be nice to have a more readable format.

Describe the solution you'd like
Output of total status and individual errors in a human-readable format, eg. Markdown.

Don't set terminology server when machine is offline

Is your feature request related to a problem? Please describe.
Hammer should ignore the terminology server option when the machine is offline, because the validation will always fail / be wrong in that case.

Describe the solution you'd like
Automatic detection that the validation is running offline, some kind of visual warning to the user that terminology is disabled, and no terminology server being passed as an argument to validation.

Additional context
C# doesn't have a cross-platform API for detecting this as far as I know. Qt might.

Syntax highlighting

It would be cool if the text window would offer syntax highlighting for XML/JSON.

Settings allow you to to disable error/warning/info messages entirely

Describe the bug
Settings allow you to to disable error/warning/info messages entirely which means that you'll then simply get a blank status box and no messages. Doesn't look very good.

To Reproduce
Turn off error, warning, informational messages and hit Validate.

Expected behavior
Settings should not allow you to disable all types - at least one should be on.

Design a project logo

Is your feature request related to a problem? Please describe.
A logo for Hammer! Right now I've just used the Unicode icon.

Describe the solution you'd like
A clean, modern logo for Hammer.

Validation isn't stopped when pressing the 'back' button

When pressing the 'Validate' button, the app kicks off both validators and switches to the results page, where you can press the 'back' button. However, the validators keep on running, and when you press 'Validate' again, they might interfere with the newly created instances.

So the validators should probably be killed when pressing the 'back' button, or alternatively a check should be done if there are still old validators running when pressing the 'Validate' button.

Mirror error/warning/info settings in result count

Is your feature request related to a problem? Please describe.
You can tell Hammer if you want to show errors, warnings and/or info messages. However, the result boxes always tell you the number of warnings and errors regardless of these settings.

Describe the solution you'd like
The result boxes should show the number of errors, warnings and messages if they are requested, or hide each of these components if they are not requested.

.NET validation can't find the base specification in the deployed zip

Describe the bug
.NET validation can't find the base specification in the deployed zip

To Reproduce
Steps to reproduce the behavior:

  1. Download latest CI build
  2. Try to run either json or xml validation
  3. Observe error

Expected behavior
.NET validation should be able to find the base spec just fine.

Screenshots
https://files.slack.com/files-pri/TJH5CQH4Z-FKBRW52B0/image.png

Desktop (please complete the following information):

  • OS: Windows, macOS and Linux

Additional context
Add any other context about the problem here.

Add support for FHIR packages

Is your feature request related to a problem? Please describe.
Torinox only supports a local folder as the validation scope - having support for packages as well would be great.

Describe the solution you'd like

  1. Explicit option to load a package.json and add those packages to the context
  2. Automatic load of the package.json when the file is present in the local folder scope

Additional context
Need @mharthoorn's package library to be released for this first.

Add standard text editing functionality to resource window

Is your feature request related to a problem? Please describe.
It would be nice to have the standard right-click menu with cut/copy/paste actions as well as the standard shortcuts for them.

Describe the solution you'd like
A text editor like any other.

Describe alternatives you've considered
QML doesn't seem to have any standard components you can plug in.

Add option to load another resource after opening editor

Is your feature request related to a problem? Please describe.
When you validate a resource, and click on an error, the editor window opens. This is a nice feature. However, you cannot go back anymore - only re-validate - and therefore the option to open another resource is gone, because that is Back --> Open.

Describe the solution you'd like
I would like to have a button that makes it possible to open another resource. This could be a button to go back so you have the Open button again, or an Open button on the validation page.

Describe alternatives you've considered
The Ctrl-O shortcut does work, of course, but is not obvious to all.

Additional context
In order to limit the number of buttons on the validation page, I would also find it acceptable to go to the Settings, and being able to view the "Open file/Load it here" dialog on that page again, even though it is not really a setting. Or, alternatively, replacing the Settings button with the option to go back, although less desirable, since you might want to change the scope during validation.

Add tests to Hammer

Is your feature request related to a problem? Please describe.
Hammer should have a suite of tests to ensure we don't break functionality and make it more welcoming for new contributors to make changes.

Describe the solution you'd like
Not sure what testing a QML application involved.

Describe alternatives you've considered
Qt Test?

There is Squish, but that is too expensive.

Fails to launch on Windows

Both Rene and Ward have issues launching the app - the process is there, but it doesn't do anything.

It seems to be related to downloading the Qml.Net binaries.

Hammer crashes after validating a resource with Java when using .exe

Describe the bug
Hammer crashes without an error after validating a resource. Looks like it is caused by the JAVA validator because .NET works.

To Reproduce
Steps to reproduce the behavior:

  1. Validate a resource form Nictiz repo (condition or encounter example)
  2. Select scope is profiles dir

Cancel current Java validation when starting another one

Describe the bug
When you restart validation before the existing Java validation is finished, a new Java process is spawned without stopping the existing one. If you hit Validate shortcut Ctrl+D very many times in a row, you can spawn enough Java validators to use up all of the computers memory and thus lock it up.

To Reproduce
Steps to reproduce the behavior:

  1. Load an instance
  2. Press Ctrl+D ten times quickly

Expected behavior
Previous Java validation should be cancelled right away before a new one is started.

Hammer does not handle folder with spaces in the name correctly

When the scope is a file location that contains a space in the name, Hammer defaults back to the desktop folder if you want to open a new instance, instead of using the scope.

Steps:

  • After starting Hammer, click 'Choose an instance' and browse to a folder with a space in the name - for example 'My Documents'
  • Open an instance; this works correctly
  • Choose 'Open new instance' to see that Hammer reverts back to the desktop folder instead of using the scope.

Add line labels in instance editor

Is your feature request related to a problem? Please describe.
It would be great to see where the errors are just by being able to look at the Instance Editor

Describe the solution you'd like
Marker(s) for the line on the right side of the editor - so scrolling the editor will show you where the issues lie.

Hovering over the line marker should explain the issues that are there.

Describe alternatives you've considered
An in-line annotation for the issue, so you don't have to hover your mouse over anything?

Java validator seems to give errors on unrelated errors

Describe the bug

problem with the Java validator giving errors when it finds resources/profiles in my folder that are not valid (like my R4 ObservationDefinition that I have in my test folder).

To Reproduce

https://transfer.sh/11gbrt/mirjamstestproject.zip - just load the adam file, then see the Java errors appear

Expected behavior
Unrelated resources should not be considered.

Additional context
This might be an issue in how the Java validator handles issues

Persist settings

Is your feature request related to a problem? Please describe.
You can configure Hammer in several ways, but these settings are not re-used when you open the app again.

Describe the solution you'd like
Save the settings and load them when you open the app again.

Opening file chooser on Windows hangs Hammer

Describe the bug
Clicking the Choose resource button on Windows will hang the validator.

Expected behavior
A filepicker should open.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows
  • Version 10

Additional context
Add any other context about the problem here.

First load of an instance on Windows is slow

Describe the bug
Loading an instance file for the first time on Windows is pretty slow - freezes Hammer for a while.

To Reproduce
Steps to reproduce the behavior:

  1. Click on Choose an instance
  2. Select a file
  3. Click Open
  4. Observe freeze.

Expected behavior
The file should load instantly like on Linux.

Desktop (please complete the following information):

  • OS: Windows
  • Version 10

Additional context
Stdout says: QWindowsNativeFileDialogBase::shellItem: SHCreateItemFromParsingName()) failed (The network name cannot be found.

Number of warnings and errors for .Net is only shown when Java validator finishes

Describe the bug
When the .Net validator finishes, the messages are shown and the results box turns green. However, the number of warnings and errors is only shown when the Java validator finishes.

To Reproduce
Steps to reproduce the behavior:

  1. Start validating a resource
  2. Wait until the .Net validator finishes. The left box turns green, but doesn't show the count of errors and warnings.
  3. Wait until the Java validator finishes as well. The left box now shows the count of errors and warnings.

Expected behavior
The left box should show the count of errors and warnings before the Java validator finishes.

Desktop (please complete the following information):

  • OS: Windows

Editor does not close anymore, Back button does not work

Describe the bug
When you have clicked on a validation error, and the editor opens, it reappears when you've gone back to the resource text, or have opened another resource and validate that.
The button at the bottom shows "Back", but it does not work to go back, instead doing a re-validate.

To Reproduce
Steps to reproduce the behavior:

  1. Open a resource that has an error, and click on 'validate'
  2. Click on the error to open the editor
  3. Use Ctrl-O to open another resource
  4. Click 'validate' to see that the editor is still open
  5. Click on 'Back' to see that this performs a 're-validate' instead of going back

Expected behavior
I expected a 'clean' validation screen in step 4, and the 'Back' button to go back to the resource instead of performing the 're-validate'.

Desktop (please complete the following information):

  • OS: macOS

Add option to set additional terminology servers

Is your feature request related to a problem? Please describe.
I'd like to be able to choose an external terminology server to validate with.

Describe the solution you'd like
An option in settings that allows a terminology server to be set.

Can't scroll main window

Describe the bug
The main window isn't scrollable with a resource that doesn't fit.

To Reproduce
Steps to reproduce the behavior:

  1. Open a really large resource
  2. Observe that you can't scroll it

Expected behavior
You should be able to scroll it

Additional context
It seems to happen because of reparenting. See this really long thread which has some solutioons but all with their unique drawbacks: https://forum.qt.io/topic/103100/how-to-get-scrollview-to-scroll-when-children-are-reparented-into-it/26

Validation Against Profiles

How do you configure Hammer to find, use, or ignore profiles and extensions?

Tested it with an R4 Patient Bundle from Synthea using the latest Mac OS X download.

image

I expected it to issue warnings or something about extensions it didn't recognize, rather than erroring, or to recognize US-Core by default (yes, I know, how very US-centric of me).

Qt Error: No native FileDialog implementation available

Describe the bug
Running the app gives me this error:

ERROR: No native Menu implementation available.
Qt Labs Platform requires Qt Widgets on this setup.
Add 'QT += widgets' to .pro and create QApplication in main().

App does start and seems to run fine, but gives a similar error when trying to open a file:

ERROR: No native FileDialog implementation available.
Qt Labs Platform requires Qt Widgets on this setup.
Add 'QT += widgets' to .pro and create QApplication in main().

No file dialog appears.

To Reproduce
Steps to reproduce the behavior:

  1. Start app from command line
  2. Click button to load file

Expected behavior
No errors and working file dialog

Desktop:

  • OS: Ubuntu
  • Version: 18.04
  • Window manager: i3wm

Fatal errors are no longer shown in the list

Describe the bug
It looks like fatal errors are no longer shown in the list.

To Reproduce
Steps to reproduce the behavior:

  1. Validate an XML instance which introduces a new, non-FHIR element
  2. .NET will report 1 error, but nothing will be shown in the list
  3. Copy report as markdown and observe the error's severity is 'fatal'

Improve running experience on macOS and Linux

Describe the solution you'd like
Double-click on Hammer to launch it, instead of dotnet Hammer.dll

Describe alternatives you've considered
AppImage for Linux and .dmg's for macOS.

Add nice background to results page

Is your feature request related to a problem? Please describe.
The current plain white background is boring. Perhaps a gradient or a striped pattern would look nicer?

Describe the solution you'd like
Something that looks less boring and more pleasing.

Add button to load different resource

When you have loaded a resource, and would like to validate another one, it is not intuitive how to do that.

Please add a button to be able to load a different resource, or a message explaining the Ctrl-A backspace method that is already available.

Offer an easy way to update to latest Java validator

Is your feature request related to a problem? Please describe.
The Java validator is released at a fast pace - offer a way to update the validator jar from within Hammer.

Describe the solution you'd like
Not entirely sure - perhaps auto-download the latest or simply offer a notification with an easy button that does the whole job.

Just shows a blank window in Windows on a dualscreen setup

Describe the bug
I downloaded the windows .zip file.
Extracted the files to a new directory.
Ran hammer.exe.
Got hammer with a white window. Nothing interesting happens. Task manager has it using a tiny amount of CPU. Left it for over 5 minutes.

What do I try next?

image

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.