Code Monkey home page Code Monkey logo

project-argon's Introduction

Argon Author Oxygen Plugin

Plugin to Oxygen XML editor to add support for BaseX DB.

License

Argon Author is licensed for use under The MIT License.

project-argon's People

Contributors

altipard avatar christiangruen avatar markuswb avatar mgaerber avatar micheee 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

Forkers

jakobjanot

project-argon's Issues

Provide ability to share team settings

Various settings (that would normally be stored in .xpr files) should be available through a central location.

Might be as easy as storing the .xpr file in the DB. To be investigated.

INFO from @raducoravu

Regarding the standalone Oxygen application, if you want to share settings you would have the following options:

  1. Save the settings at project level and have all users use the same project ".xpr" file in the Project view when editing:

https://www.oxygenxml.com/doc/versions/17.1/ug-editor/#topics/sharing-projects.html

  1. Provide a default options XML document to others:

https://www.oxygenxml.com/doc/versions/17.1/ug-editor/#topics/default-options.html

  1. Have others manually import an options XML document:

https://www.oxygenxml.com/doc/versions/17.1/ug-editor/#topics/import-export-preferences.html

  1. We have a Java API which would allow
    a plugin to impose fixed options when the application starts using the API:

PluginWorkspaceProvider.getPluginWorkspace().setGlobalObjectProperty(key, value);

In our Maven SDK we have a sample plugin called ImposeOptions which imposes a fixed set of options when the application starts.

NPE when closing (local) file that was already open when editor starts

Oxygen remembers previously openend files. Can not assume all opened documents are loaded from db.

[ AWT-EventQueue-0 ]  -  java.lang.NullPointerException
java.lang.NullPointerException
    at de.axxepta.oxygen.api.RestConnection.lockedByUser(RestConnection.java:135)
    at de.axxepta.oxygen.workspace.ArgonEditorChangeListener.editorClosed(ArgonEditorChangeListener.java:61)
    at ro.sync.exml.workspace.b.c.d$_b.zog(Unknown Source)

Insert/edit PIs without changing editor mode

Using AuthorDocumentController one can manipulate nodes:

   `try{
            //
            final AuthorDocumentController adc = authorAccess.getDocumentController();
            int startOffset = adc.getAuthorDocumentNode().getRootElement().getStartOffset();

            AuthorDocumentFragment frag = adc.createNewDocumentFragmentInContext("<?history version=\"\"?>", startOffset + 1);
            adc.insertFragment(startOffset, frag);

        } catch (AuthorOperationException e) {
            e.printStackTrace();
        }

        // find nodes
        //AuthorNode[] nodes = adc.findNodesByXPath("/processing-instruction('history')", true, true, true);

Improve versioning

  • Every save = new Revision
  • New version = initiated by user action
  • One history DB per source DB
  • Always save complete document

Open added files

When adding a new file via context menu open it directly in editor

Startup Options Pane empty

Hab ich mit @MarkusWb schon besprochen, nur der Vollständigkeit halber:

Die Anwendung hat einen Fehler festgestellt, der nicht automatisch behoben werden kann.
Es ist möglich, dass der Fehler unkritisch ist und dass die Anwendung normal weiterläuft.
Falls sich die Anwendung instabil verhält und nicht mehr normal geschlossen werden kann,
können Sie den „Force Quit“ Button aus diesem Dialog verwenden.
Beachten Sie, dass dann alle ungesicherten Änderungen in den geöffneten Dokumenten verloren gehen.

Hier sind die Fehlerdetails:

[ main ]  -  java.lang.NumberFormatException: For input string: "empty option"
java.lang.NumberFormatException: For input string: "empty option"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
    at de.axxepta.oxygen.api.BaseXConnectionWrapper.refreshFromOptions(BaseXConnectionWrapper.java:20)
    at de.axxepta.oxygen.workspace.ArgonWorkspaceAccessPluginExtension.applicationStarted(ArgonWorkspaceAccessPluginExtension.java:77)
    at ro.sync.exml.MainFrame.agm(Unknown Source)
    at ro.sync.exml.MainFrame.<init>(Unknown Source)
    at ro.sync.exml.MainFrame.<init>(Unknown Source)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at ro.sync.ui.application.ApplicationLauncher.d(Unknown Source)
    at ro.sync.ui.application.ApplicationLauncher.launch(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at ro.sync.exml.Oxygen.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
    at com.install4j.runtime.launcher.MacLauncher.main(Unknown Source)

Exception when trying to open document from history DB

  • use open url (CTRL-U)
  • enter url of history entry (e.g. argon:/~history_trello/source/r_examples-of-boards_2016-02-12_12-26_v1r1.xml)

[ class ro.sync.ui.application.d.l ] - java.lang.NullPointerException
java.lang.NullPointerException
at org.basex.io.in.BufferInput.readByte(BufferInput.java:112)
at org.basex.io.in.BufferInput.content(BufferInput.java:194)
at org.basex.io.IOStream.read(IOStream.java:40)
at de.axxepta.oxygen.api.RestConnection.request(RestConnection.java:175)
at de.axxepta.oxygen.api.RestConnection.get(RestConnection.java:65)
at de.axxepta.oxygen.customprotocol.ArgonProtocolHandler$ArgonConnection.getInputStream(ArgonProtocolHandler.java:45)
at ro.sync.exml.editor.tb.d(Unknown Source)

Dateien bearbeiten

  • Öffnen
  • Speichern
  • Löschen

Abstraktion über eigene Klasse. Implementierung verwendet REST API von basex
In Oxygen über CustomProtocolPlugin gelöst, Bsp.:

argon://foo/bar.xml

Add confirmation for "Delete"

Maybe you should add a confirmation dialog for the "Delete" action, especially if you will make it work using the DEL key. By the way, can deleted resources be recovered?

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.