Coder Social home page Coder Social logo

pawelrojek / nextcloud-drawio Goto Github PK

View Code? Open in Web Editor NEW
227.0 19.0 59.0 389 KB

Draw.io intergration app

Home Page: https://apps.nextcloud.com/apps/drawio

License: GNU Affero General Public License v3.0

PHP 63.10% CSS 0.35% JavaScript 36.55%
nextcloud nextcloud-app drawio integration scheme cloud diagram

nextcloud-drawio's Introduction

⚠️ [Archived] ⚠️ Nextcloud Draw.io integration app

[May 2017-June 2022]

♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️
♦️ The new official repository is located here:          :diamonds:
♦️ https://github.com/jgraph/drawio-nextcloud/     ♦️
♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️♦️
















This app allows users to create and edit diagrams in Nextcloud using Draw.io / Diagrams.net on-line editor.

App Store link: https://apps.nextcloud.com/apps/drawio

Once installed, you will see an option to create a Draw.io diagram from the 'create file' menu. Note: this app does not produce an app icon.

Info

  • Requires Nextcloud >11.0.0
  • Multi language support (l10n)
  • Inspired by the old Draw.io Integration and OnlyOffice
  • Tested with Chrome 58-96 and Firefox 53-89
  • Tested with PHP 5.6/7.1/7.3/8.0/8.1
  • Draw.io Integration v1.0.3 tested with NextCloud 11.0.3 / 12.0.2 / 13.0.6 / 14.0.4 / 15.0.0 / 16.0.0 / 17.0.0 / 18.0.0 / 19.0.0 / 20.0.0 / 21.0.0 / 22.0.0 / 23.0.0 / 24.0.1

Mimetype detection

To make Draw.io work properly, you need to add a new mimetypes in the mimetypemapping.json file (at Nextcloud level).

Go to Admin settings > Additional settings ( /index.php/settings/admin/additional ) and click the Save button to register MIME types.

Or you can do it manually:

  • Download mimetypemapping.json and save it in config folder or
  • Copy /resources/config/mimetypemapping.dist.json to /config/mimetypemapping.json (in the config/ folder at Nextcloud’s root directory; the file should be stored next to the config.php file). Afterwards add the two following line just after the “_comment” lines. "drawio": ["application/x-drawio"],

If all other mimetypes are not working properly, just run the following command:

sudo -u www-data php occ files:scan --all

Download

Current release: zip or tar.gz

Changelog

1.0.3

  • NC24 compatibility
  • (Note) This is the last release maintained by Pawel Rojek

1.0.2

  • NC23 compatibility
  • Added Finnish translation (#157)
  • Added Czech translation (#152)
  • Various bug fixes

Complete changelog

Installation

  1. Copy Nextcloud draw.io integration app ("drawio" directory) to your Nextcloud server into the /apps/ directory
  2. Go to "Apps" > "+ Apps" > "Not Enabled" and Enable the Draw.io application
  3. Go to "Admin settings > Additional settings" ( /index.php/settings/admin/additional ) and click the "Save" button to register MIME types.

Known Issues

  • If you're experiencing problems while updating your Nextcloud intance, try to disable/delete Draw.io integration app (/apps/drawio/) and then install/copy it again after the NC update is completed.

Configuration

Go to Admin page and change the settings you want:

Click "Save" when you're done.

If you would like to self-host Draw.io, you might want to consider https://github.com/jgraph/docker-drawio from the creators of Draw.io (now diagrams.net).

License

  • Released under the Affero General Public License version 3 or later.
  • [CC 3.0 BY] File icon made by DinosoftLabs / Link

Contributors

View all

Support

  • Any feedback and code is greatly appreciated!
  • It's all free, but please consider making a donation if you use it (and you can afford it) - it takes a lot of time to maintain/test/review/release. Thanks!

Donate

nextcloud-drawio's People

Contributors

actom avatar albanobattistella avatar arnowelzel avatar awesome-manuel avatar cuthulino avatar davidjgraph avatar dehuszar avatar depuits avatar eviljazz avatar geiseri avatar githubkoma avatar hoerup avatar irillit avatar janklostermann avatar janlo avatar kosssi avatar ledfan avatar luckyvb avatar madmath03 avatar madsi1m avatar mario avatar mattspec avatar p-bo avatar pawelrojek avatar tadhgboyle avatar tavinus avatar trockenasche avatar xlyz 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

nextcloud-drawio's Issues

Save as SVG

draw.io is able to load and save diagrams as SVG with embedded XML. It would be very nice if this would also be possible with this app, as the SVG format has the advantage that it can also be imported by other applications. Although I was able to add a mime type so that such SVGs are opened correctly, saving always converts a file to XML (in contrast to the usual behavior of draw.io).

Offline mode bug

Hi, I updated to version 0.9.0 and find the new offline option buggy.

I cannot change the value.

When I check my config from occ, there is no key-value for "offlineMode"

I manually add "offlineMode" to my config but any config:app:set always ends up with null

Screenshot from nextcloud log
image

"OCP\\AppFramework\\QueryException" when opening /settings/admin/additional

Steps to reproduce

  1. instal draw.io app
  2. open "additional settings" (/settings/admin/additional)

Expected behaviour

No errors in logs.

Actual behaviour

Errors in log:

    "Exception": "OCP\\AppFramework\\QueryException",
    "Message": "Could not resolve OCA\\Drawio\\Settings\\AdminSettings! Class OCA\\Drawio\\Settings\\AdminSettings does not exist",

Server configuration detail

Operating system: Linux 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64

Webserver: Caddy/0.11.1 (fpm-fcgi)

Database: mariadb 10.1.37

PHP version:

7.2.12
Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, ftp, hash, iconv, json, mbstring, SPL, PDO, session, posix, readline, Reflection, standard, SimpleXML, pdo_sqlite, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, apcu, exif, gd, intl, ldap, memcached, pcntl, pdo_mysql, pdo_pgsql, redis, sodium, zip, Zend OPcache

Nextcloud version: 14.0.4 - 14.0.4.2

Updated from an older Nextcloud/ownCloud or fresh install: updated

Where did you install Nextcloud from: Docker

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.0.1
 - activity: 2.7.0
 - admin_audit: 1.4.0
 - announcementcenter: 3.3.1
 - apporder: 0.6.0
 - audioplayer: 2.4.1
 - bruteforcesettings: 1.2.0
 - calendar: 1.6.4
 - camerarawpreviews: 0.6.1
 - checksum: 0.4.1
 - circles: 0.15.2
 - cloud_federation_api: 0.0.1
 - comments: 1.4.0
 - contacts: 2.1.7
 - dav: 1.6.0
 - deck: 0.5.0
 - drawio: 0.9.1
 - dropit: 0.1.3
 - external: 3.1.0
 - federatedfilesharing: 1.4.0
 - federation: 1.4.0
 - files: 1.9.0
 - files_downloadactivity: 1.3.0
 - files_external: 1.5.0
 - files_linkeditor: 1.0.7
 - files_markdown: 2.0.5
 - files_pdfviewer: 1.3.2
 - files_retention: 1.3.0
 - files_rightclick: 0.8.4
 - files_sharing: 1.6.2
 - files_texteditor: 2.6.0
 - files_trashbin: 1.4.1
 - files_versions: 1.7.1
 - files_videoplayer: 1.3.0
 - firstrunwizard: 2.3.0
 - flowupload: 0.0.8
 - gallery: 18.1.0
 - groupfolders: 1.3.3
 - impersonate: 1.1.0
 - issuetemplate: 0.4.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.2.0
 - mail: 0.11.0
 - metadata: 0.8.0
 - mindmaps: 0.1.0
 - music: 0.9.2
 - nextcloud_announcements: 1.3.0
 - notes: 2.5.0
 - notifications: 2.2.1
 - oauth2: 1.2.1
 - onlyoffice: 2.0.4
 - ownpad: 0.6.8
 - password_policy: 1.4.0
 - polls: 0.8.3
 - previewgenerator: 2.0.0
 - provisioning_api: 1.4.0
 - quota_warning: 1.3.0
 - ransomware_protection: 1.2.0
 - richdocuments: 3.0.5
 - serverinfo: 1.4.0
 - sharebymail: 1.4.0
 - socialsharing_email: 1.0.4
 - spreed: 4.0.1
 - systemtags: 1.4.0
 - tasks: 0.9.8
 - theming: 1.5.0
 - twofactor_backupcodes: 1.3.1
 - twofactor_gateway: 0.11.0
 - twofactor_totp: 1.5.0
 - twofactor_u2f: 1.6.1
 - twofactor_yubikey: 0.4.0
 - updatenotification: 1.4.1
 - workflowengine: 1.4.0
Disabled:
 - encryption
 - files_accesscontrol
 - files_automatedtagging
 - files_reader
 - keeweb
 - support
 - survey_client
 - user_external
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "***REMOVED SENSITIVE VALUE***",
        "***REMOVED SENSITIVE VALUE***"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "14.0.4.2",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "forcessl": true,
    "logtimezone": "Europe\/Berlin",
    "log_rotate_size": 104857600,
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauth": 1,
    "mail_smtpauthtype": "LOGIN",
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "smtp",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "465",
    "mail_smtpsecure": "ssl",
    "htaccess.RewriteBase": "\/",
    "htaccess.IgnoreFrontController": true,
    "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
    "skeletondirectory": "",
    "auth.bruteforce.protection.enabled": true,
    "check_for_working_webdav": true,
    "maintenance": false,
    "loglevel": 0,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "apps_paths": [
        {
            "path": "\/var\/www\/html\/apps",
            "url": "\/apps",
            "writable": false
        },
        {
            "path": "\/var\/www\/html\/custom_apps",
            "url": "\/custom_apps",
            "writable": true
        }
    ],
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 6379
    },
    "updater.release.channel": "stable",
    "preview_max_x": 400,
    "preview_max_y": 200
}

Are you using external storage, if yes which one: no

Are you using encryption:

Are you using an external user-backend, if yes which one: no

Client configuration

Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36

Operating system: Windows 10 64bit

Logs

Browser log

Nextcloud log
{
  "reqId": "FAZsB85dPJFaf0vLa2dW",
  "level": 1,
  "time": "2018-11-28T21:11:02+01:00",
  "remoteAddr": "***REMOVED SENSITIVE VALUE***",
  "user": "SimJoSt",
  "app": "no app in context",
  "method": "GET",
  "url": "\/settings\/admin\/additional",
  "message": {
    "Exception": "OCP\\AppFramework\\QueryException",
    "Message": "Could not resolve OCA\\Drawio\\Settings\\AdminSettings! Class OCA\\Drawio\\Settings\\AdminSettings does not exist",
    "Code": 0,
    "Trace": [{
      "file": "\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
      "line": 119,
      "function": "resolve",
      "class": "OC\\AppFramework\\Utility\\SimpleContainer",
      "type": "->",
      "args": ["OCA\\Drawio\\Settings\\AdminSettings"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/ServerContainer.php",
      "line": 132,
      "function": "query",
      "class": "OC\\AppFramework\\Utility\\SimpleContainer",
      "type": "->",
      "args": ["OCA\\Drawio\\Settings\\AdminSettings"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/Settings\/Manager.php",
      "line": 216,
      "function": "query",
      "class": "OC\\ServerContainer",
      "type": "->",
      "args": ["OCA\\Drawio\\Settings\\AdminSettings"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/Settings\/Manager.php",
      "line": 342,
      "function": "getSettings",
      "class": "OC\\Settings\\Manager",
      "type": "->",
      "args": ["admin", "additional"]
    }, {
      "file": "\/var\/www\/html\/settings\/Controller\/AdminSettingsController.php",
      "line": 73,
      "function": "getAdminSettings",
      "class": "OC\\Settings\\Manager",
      "type": "->",
      "args": ["additional"]
    }, {
      "file": "\/var\/www\/html\/settings\/Controller\/CommonSettingsTrait.php",
      "line": 126,
      "function": "getSettings",
      "class": "OC\\Settings\\Controller\\AdminSettingsController",
      "type": "->",
      "args": ["additional"]
    }, {
      "file": "\/var\/www\/html\/settings\/Controller\/AdminSettingsController.php",
      "line": 65,
      "function": "getIndexResponse",
      "class": "OC\\Settings\\Controller\\AdminSettingsController",
      "type": "->",
      "args": ["admin", "additional"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php",
      "line": 166,
      "function": "index",
      "class": "OC\\Settings\\Controller\\AdminSettingsController",
      "type": "->",
      "args": ["additional"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/AppFramework\/Http\/Dispatcher.php",
      "line": 99,
      "function": "executeController",
      "class": "OC\\AppFramework\\Http\\Dispatcher",
      "type": "->",
      "args": [{
        "__class__": "OC\\Settings\\Controller\\AdminSettingsController"
      }, "index"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/AppFramework\/App.php",
      "line": 118,
      "function": "dispatch",
      "class": "OC\\AppFramework\\Http\\Dispatcher",
      "type": "->",
      "args": [{
        "__class__": "OC\\Settings\\Controller\\AdminSettingsController"
      }, "index"]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/AppFramework\/Routing\/RouteActionHandler.php",
      "line": 47,
      "function": "main",
      "class": "OC\\AppFramework\\App",
      "type": "::",
      "args": ["OC\\Settings\\Controller\\AdminSettingsController", "index", {
        "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
      }, {
        "section": "additional",
        "_route": "settings.AdminSettings.index"
      }]
    }, {
      "function": "__invoke",
      "class": "OC\\AppFramework\\Routing\\RouteActionHandler",
      "type": "->",
      "args": [{
        "section": "additional",
        "_route": "settings.AdminSettings.index"
      }]
    }, {
      "file": "\/var\/www\/html\/lib\/private\/Route\/Router.php",
      "line": 297,
      "function": "call_user_func",
      "args": [{
        "__class__": "OC\\AppFramework\\Routing\\RouteActionHandler"
      }, {
        "section": "additional",
        "_route": "settings.AdminSettings.index"
      }]
    }, {
      "file": "\/var\/www\/html\/lib\/base.php",
      "line": 987,
      "function": "match",
      "class": "OC\\Route\\Router",
      "type": "->",
      "args": ["\/settings\/admin\/additional"]
    }, {
      "file": "\/var\/www\/html\/index.php",
      "line": 42,
      "function": "handleRequest",
      "class": "OC",
      "type": "::",
      "args": []
    }],
    "File": "\/var\/www\/html\/lib\/private\/AppFramework\/Utility\/SimpleContainer.php",
    "Line": 104,
    "CustomMessage": "--"
  },
  "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.110 Safari\/537.36",
  "version": "14.0.4.2"
}
Browser log

In the latest (14.0.3) version of nextcloud, drawio is wrongly marked as incompatable

In the latest (14.0.3) version of nextcloud, drawio is wrongly marked as incompatible. I fixed it temporarily (until the next update at least) with a hack by removing the 'disabled' attribute of the 'Enable' button in the browser and then just clicking on it. It now works fine, but probably there is somewhere where the compatibility settings need to be changed. That is all, thanks so much for porting it to Nextcloud, it is really usefull.

Shared Collaborative editing in nextcloud

In addition to #14 :

It would be really nice if you could share a link with a third person and collaborative editig a diagram. At the moment, a shared link can only download the diagram although i allowed editing using that sharelink.

?

.drawio files not opening in draw.io

Hi,
I've added the MIME type to /config/mimetypemapping.json, as per the instructions, however files with the .drawio extension are still being sent to the browser for download. There is also no option to open the file with draw.io via the context menu.

I've also tried adding "application/x-drawio" to /etc/apache2/mods-enabled/mime.conf & reloading Apache, however it made no difference.

Have I missed something?

v0.9.1 (NC 13.06)

For full disclosure, there's also an external reverse proxy (nginx) that sits between the client & the internal webserver, however I don't think should make a difference. It's the internal webserver/Nextcloud which should be directing the client to draw.io...

Cheers

Display preview image of diagram instead of xml code in nextcloud preview panel

Nextcloud displays a preview of the selected file at the top of the right pane of the file browser view.
As the drawio file is an xml file it shows the code in this preview.
This is not helpful at all. Adding to that it is only one line so there's hardly any information shown.

If a diagram gets bigger the preview takes longer and longer. For example I've got an xml-file of ~10MB. After closing the drawio app it takes quite some time for the preview to update. During this time nextcloud is not responding.

My suggestion would be to replace the preview with an image of the diagram, like the small outline window shows within drawio.

Confirmation on closing / unsaved changes

I accidentally closed my tab with a keyboard shortcut today (while editing draw.io file)...

There should be a confirmation dialog when closing tab. Especially, if there are unsaved changes.

Import from NextCloud

Would be great to be able to import files directly from NextCloud store files. Is there a way to achieve this without modifying draw.io?

A similar functionality would be to open importable files directly from NextCloud, I tried to do this by declaring a new mimetype "vsdx": ["application/x-drawio"] but of course it was not enough. Maybe there is some way to make this work by automatically creating a blank .drawio or .xml file with the same name and directly call the import function from it.

Save failed

When you save the chart, it displays an error- "Connection to the server is lost", and does not save the document.

Where are the uploaded images getting stored ?

Hi

Here is my scenario:

  • I have self hosted Nextcloud instance running behind firewall (obviously no access to internet at all)
  • I have hosted version of Draw.io (again running behind the same firewall)
  • While creating a diagram I have uploaded one of the image from my system, and saved the diagram

Queries/Concerns :

  • Where does this uploaded image got saved ?
  • When I export this diagram as xml or whatever format and upload that xml on public draw.io, how it manage to pull down the same image, does that mean whatever we upload to nextcloud draw.io is getting uploaded to public draw.io ?
  • Although in exported xml you won't be able to find reference to any image file, may be xml would have been encrypted, but still why would the same xml (which have private upload) will work on other drawio server.

I hope I'm able to explain my concern coz if it uploading on public draw.io instance or somewhere else on public network.. its a serious security and information leak..

Thanks

All Shape Groups seperated

Hi,
there is a problem with the actual drawio on nextcloud 13.
All groups (or subgroups) will be displayed seperatly, not grouped by parents. (For example the main group AWS doesn't show up but rather its childs in format AWS / Analytics or AWS / Database ...)
Thanks.

Nextcloud 15 Compatibility

The Beta of Nextcloud 15 has started. It would be great if this draw.io app would be released for Nextcloud 15.

Import/ Open external libraries for all app users

Hi

Is it possible to open external libraries with different logos/ icons for example from github via URL like in the main draw.io website?

open-library-draw-io

It would be great if some of those external libraries could be added for every new diagram by every user.

Thanks for your suggestions

DrawIO is not opening XML file when opened via Favourites

Hi out there!

First, thanks a lot for this great plugin, this tool often makes my day!!!

One small thing I observed:

  • Go to Nextcloud files
  • find XML and bookmark it (with star) as favourite
  • Go to Fafourites in Nextcloud (left panel)
  • klick the xml (icon is not showing DrawIO symbol)
  • XML gets open in text editor (should be DrawIO)

My configuration:

  • NextCloud 12.05 stable
  • CentOS 7 x64
  • DrawIO Plugin 0.8.8

please let me know if you need more information.

thanks a lot
chris

Drawio on IE11

Hi,

we noticed that opening the drawio nextcloud app in IE11, the screen loads but the loading icon keeps rotating. Using Firefox in Windows, all seem to work ok. When directly browsing to www . draw .io in IE11, everything seems to be working as expected.

Is there a solution/workaround for this problem?

screenshot ie11 drawio nextcloud

greetings,
Tom

Error in en_GB.json missing comma

Row. 32 "You do not have enough permissions ..." should end with a comma. It doesn't and that cause "json error code 4" in the logs.

File association and menu

I have installed it with a local instance of draw.io on my Nextcloud 11.0.0.

It works fine to create a new .xml via the + button, but afterwards there is no association with draw.io of the xml files and also no menu button to start draw.io directly.
The .xml files also do not get a nice logo in the files app (but the nice logo is displayed under the + menu)

The setting for associating the xml files is activated but doesn't seem to do anything.

I am guessing that I need to modify the mimetype file similar to the gpx plugin? See:
https://gitlab.com/eneiluj/gpxedit-oc/wikis/admindoc
What would I need to write in that file and which icon image do I need to move?

OwnCloud 10 admin menu doesn't work anywork with drawio app.

Thanks for your effort and the possibility to use the app also on OwnCloud10. 😃

The app works fine, but only the admin menu does not work anymore, where there is apparently a difference between NextCloud and OwnCloud. I already try to fix the problem, but you may see the issue more quickly than I do.

Thanks!

View draw.io File Details Bug

When trying to open the details pane on a draw.io file in the web interface, the file is automatically opened. This is undesirable, when trying to adjust sharing, see versions, etc.

I think it has something to do with preview loading. After a few moments, it loads full.

Use custom file type for diagrams instead of ".xml"

As of version 0.89 Draw.io uses the extension ".xml". There is also an option to connect ".xml" with Draw.io.

However - since ".xml" is a very generic extension and Draw.io itself does not require to use this extension, it would be nice to have a more specific file type - e.g. ".drawio" and "application/x-drawio" as MIME type, so not all XML files get treated as diagram but you still can open diagrams with a simple click on the file. Also see Collabora which automatically opens files with the extensions ".odt", ".ods", ".docx", ".xlsx" etc..

BTW: how can a Nextcloud application can register it's own file types?

Export / Download doesn't work

When I try to export a file and then download it, nothing happens. Ideally, an exported image should be stored in the same folder as the original xml file.

Otherwise, it's a great add-on!

Last updates breaks nextcloud admin

I just updated to 0.8.8 on Nextcloud 12. Without activating it.

Accessing /settings/admin throws an internal error.

In the logs I have:

"app":"index","method":"GET","url":"\/nextcloud\/settings\/admin","message":"Exception: {\"Exception\":\"OCP\\\\AutoloadNotAllowedException\",\"Message\":\"Autoload path not allowed: \\\/srv\\\/www\\\/nextcloud\\\/apps.installed\\\/drawio\\\/lib\\\/adminsettings.php\",\"Code\":0,\"Trace\":\"#0 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/autoloader.php(158): OC\\\\Autoloader->isValidPath('\\\/srv\\\/www\\\/nextcl...')\\n#1 [internal function]: OC\\\\Autoloader->load('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#2 [internal function]: spl_autoload_call('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#3 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(94): ReflectionClass->__construct('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#4 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Utility\\\/SimpleContainer.php(117): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->resolve('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#5 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/ServerContainer.php(132): OC\\\\AppFramework\\\\Utility\\\\SimpleContainer->query('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#6 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Settings\\\/Manager.php(261): OC\\\\ServerContainer->query('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#7 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Settings\\\/Manager.php(352): OC\\\\Settings\\\\Manager->query('OCA\\\\\\\\Drawio\\\\\\\\Admi...')\\n#8 \\\/srv\\\/www\\\/nextcloud\\\/settings\\\/Controller\\\/AdminSettingsController.php(138): OC\\\\Settings\\\\Manager->getAdminSettings('server')\\n#9 \\\/srv\\\/www\\\/nextcloud\\\/settings\\\/Controller\\\/AdminSettingsController.php(72): OC\\\\Settings\\\\Controller\\\\AdminSettingsController->getNavigationParameters('server')\\n#10 [internal function]: OC\\\\Settings\\\\Controller\\\\AdminSettingsController->index('server')\\n#11 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(160): call_user_func_array(Array, Array)\\n#12 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Http\\\/Dispatcher.php(90): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController(Object(OC\\\\Settings\\\\Controller\\\\AdminSettingsController), 'index')\\n#13 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/App.php(114): OC\\\\AppFramework\\\\Http\\\\Dispatcher->dispatch(Object(OC\\\\Settings\\\\Controller\\\\AdminSettingsController), 'index')\\n#14 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/AppFramework\\\/Routing\\\/RouteActionHandler.php(47): OC\\\\AppFramework\\\\App::main('OC\\\\\\\\Settings\\\\\\\\Con...', 'index', Object(OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer), Array)\\n#15 [internal function]: OC\\\\AppFramework\\\\Routing\\\\RouteActionHandler->__invoke(Array)\\n#16 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/private\\\/Route\\\/Router.php(299): call_user_func(Object(OC\\\\AppFramework\\\\Routing\\\\RouteActionHandler), Array)\\n#17 \\\/srv\\\/www\\\/nextcloud\\\/lib\\\/base.php(1000): OC\\\\Route\\\\Router->match('\\\/settings\\\/admin')\\n#18 \\\/srv\\\/www\\\/nextcloud\\\/index.php(40): OC::handleRequest()\\n#19 {main}\",\"File\":\"\\\/srv\\\/www\\\/nextcloud\\\/lib\\\/autoloader.php\",\"Line\":134}"

If activated there is no issue.

Favorites

App doesn't work for files listed in "Favorites":

  • there's no menu entry (...)
  • no file association
  • icon is missing

image

Nextcloud Integration Issue (page does not load)

My company created a server for draw so we could integrate it with our Nextcloud instance.

The application loads great when you connect directly but the issue is when trying to open a saved .xml file from Nextcloud.

Once you click the icon for the file, a tab opens and the page only loads the banner with all options grayed out except File and Help. The loading icon also hangs in the center and does not advance.

Where should we look to correct this?

Settings part is doubled

Thank you for such a nice app.

I found a minor bug in settings. I see the draw.io part both in admin (settings root) as well as in admin/additional.


Server configuration

Operating system: Linux 4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016 x86_64

Web server: nginx/1.13.0 (fpm-fcgi)

Database: pgsql PostgreSQL 9.6.2 on x86_64-pc-linux-gnu, compiled by gcc (Alpine 6.2.1) 6.2.1 20160822, 64-bit

PHP version: 7.1.4
Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, gd, hash, iconv, json, mbstring, SPL, PDO, pdo_sqlite, session, posix, readline, Reflection, standard, SimpleXML, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, apcu, exif, ftp, gmp, intl, ldap, mcrypt, mysqli, pcntl, pdo_mysql, pdo_pgsql, pgsql, zip, redis, smbclient, libsmbclient, Zend OPcache

Nextcloud version: 11.0.3 (daily) Build:2017-05-01T21:01:27+00:00 398013b1a5827818e5fa4f55b574f8d85b95f00a - 11.0.3.2

Are you using encryption: no

Client configuration

Browser: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0

Operating system: Fedora Rawhide

[Question] use without internet access?

Does nextcloud-drawio need internet access?
What exactly does the setting Draw.io URL do?

We have a Nextcloud within a private network. It is only allowed internet access for updates.
Is it possible to use drawio so it does not connect to internet on the client browser side?
I guess the URL option has something to do with this.

Special Chars in Path

Hey,
first i'd like to THANK YOU for this integration 👍

I've encounterd a issue with Specialchars in Nextcloud Folder path.
In my special case its a & that get html encoded to & and this gets url encoded to %26amp%3B.

e.g. https://my-awesome-nexcloud-instace/remote.php/webdav/cloud/folder1/folder2/topic1&topic2/awesome-drawio-chart.xml

sould be: https://my-awesome-nexcloud-instace/remote.php/webdav/cloud/folder1/folder2/topic1%26topic2/awesome-drawio-chart.xml

but becomes: https://my-awesome-nexcloud-instace/remote.php/webdav/cloud/folder1/folder2/topic1%26amp%3Btopic2/awesome-drawio-chart.xml

Sadly I've no time to check the sources and mark the specific lines or send you a merge request... maybe I'll find some time in the next months to do so but.... I'm realy sure you know about this "everytime busy" thing nearly every developer facing with...

THANK YOU IN ADVANCE & BEST REGARDS

Mixed content while serving nextcloud and drawio over https

Hi
I'm getting following error while trying to serve both over https using reverse proxy nginx here both nextcloud and drawio are hosted and served over nginx

Content: The page at 'https://my-domain.net/nextcloud/index.php/apps/drawio/468' was loaded over HTTPS, but requested an insecure resource 'http://my-domain.net/draw/?embed=1&ui=atlas&lang=en&spin=1&proto=json'. This request has been blocked; the content must be served over HTTPS.

Any idea to resolve this issue

Move app data to the root directory

That will make it easier to start developing or running the latest version from git.
You can then just clone the repo directly to your Nextclouds app folder.

Statement about mime type need to be checked

Hi,

on the main page for nextcloud-drawio you write

To proceed, just copy /resources/config/mimetypemapping.dist.json to /config/mimetypemapping.json (in the config/ folder at Nextcloud’s root directory; the file should be stored next to the config.php file). Afterwards add the two following line just after the “_comment” lines.

"drawio": ["application/x-drawio"],

Is there a line for the mime type mapping file missing or is it only one which needs to be added?
BR Alex

Privacy tickbox in admin screen

We have users complaining to us (draw.io) that the default war we provide makes calls to external sites when they run it with NextCloud. It would be useful if the admin screen had a tickbox called something like "private mode" that added the appropriate URL parameters to the draw.io URL to switch off external connections. I think that's stealth=1, but need to double check.

We're happy to sponsor this work (pay for it).

Compatibility with Nextcloud 14

Hi,

as you may have already seen, we have entered the beta phase for the release of Nextcloud 14. We usually try to keep up compatibility with previous app versions, but in some cases apps need some adjustments to properly work on new Nextcloud releases. With Nextcloud 14 there have been quite some changes in that regard:

You can find a list of all critical changes for app developers and admins at nextcloud/server#7827. You can run occ app:check-code to validate that there are no issues with deprecated or private message calls.

One critical change is the overall restructuring of the main template (nextcloud/server#9982) that might require some adjustments in your app.

We would be very pleased if you can make your app compatible with Nextcloud 14 and release a new version to the app store, so that users can properly test it and the upgrade experience to Nextcloud 14 will be even better than before.

Feel free to ask, if you have any questions regarding making your app compatible with Nextcloud 14.

Thanks for being part of the Nextcloud community and for all the effort you put into providing this app 🚀 .

Selecting and unselecting shapes are not being saved

After selecting a new shape category with "More Shapes.." the shapes are listed in the left sidebar.
Now edit/save/close the current document and open it again.
The previously additionally selected shapes are gone from the menu.

Is it possible that the custom selection of shapes stays permanently?

Thank you very much,
Peter

PS: Nextcloud v11.0.3 nextcloud-drawio 0.8.6

Special characters in path make XML file inaccessible (404)

When having special characters in the WebDAV path, the XML file cannot be loaded and results in an endless loading screen.

Chrome debug console:
https://my.cloud.com/remote.php/webdav/Phil%26%23039%3Bs%20Lab/Planned%20Lab%20Physical%20Overview.xml404 (Not Found)`

It seems like it translates the special character ' into the htmlentity.

Collaborative Editing

Thanks for your work on this app!

Is it possible for collaborative editing to be enabled? Or is that something that must be raised with draw.io themselves? If it could be done, what sort of work would that entail?

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.