Giter VIP home page Giter VIP logo

ep_draw's Introduction

Deprecated, use WBO and ep_whiteboard instead :)

Use WBO and ep_whiteboard

https://github.com/lovasoa/whitebophir

https://www.npmjs.com/package/ep_whiteboard

Drawing and painting in Etherpad

You must be running an instance Etherdraw.

In your settings.json, add:

To change your host

Set up a host accessible from the user's browser.

    "ep_draw": {
        "host": "your.etherdrawhost.com"
    }

    # Example
    "ep_draw":{
        "host": "localhost:9002"
    }

To enable by Default

    "ep_draw": {
        "onByDefault": true
    }

To enable fullscreen by Default

    "ep_draw": {
        "autoFullscreen": true
    }

To change the icon

    "ep_draw": {
        "icon": "http://myicon.com/awesomeicon.png"
    }

To put the icon on the right hand side of the toolbar

    "ep_draw": {
        "position": "right"
    }

todo

  1. Make the AuthorName, padID and Authorcolor passed to draw.etherpad.org
  2. Allow setting for opacity in setting.json
  3. Document the settings required to get it working
  4. Allow a setting in the settings dropdown to hide the paint (with cookie)
  5. Find out why going outside the canvas doesnt stop drawing
  6. Allow setting for showing Artist count or not.
  7. Clear/reset button

ep_draw's People

Contributors

alikarpuzoglu avatar chaituvr avatar disy-mk avatar frnsys avatar johnmclear avatar owenversteeg avatar purejava avatar rs4231199 avatar rugk avatar tranek avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ep_draw's Issues

locales folder

Could you please advise where the locales folder is to translate this plugin into hu (Hungarian - magyar) locale? Thank you

Error installing ep_draw with Etherpad 1.6.1

Hi, John. Thanks for developing this plugin to integrate Etherdraw with Etherpad.

I tried to install it from the console, but I get this error:

etherpad@conference:~/etherpad-lite$ npm install ep_draw
/opt/etherpad/etherpad-lite
└── [email protected] 
 
npm WARN enoent ENOENT: no such file or directory, open '/opt/etherpad/etherpad-lite/package.json'
npm WARN etherpad-lite No description
npm WARN etherpad-lite No repository field.
npm WARN etherpad-lite No README data
npm WARN etherpad-lite No license field.

Do you know what the problem might be?

I'm using Etherpad 1.6.1.

Thanks in advance.

Kind regards,
Daniel

Server down

The server at draw.etherpad.org isn't happy - currently I get a 503.

Can someone fix this?

More technical drawing features

The implementation now is more like a paint tool, it would be fantastic if it supported simple thin lines, boxes, text, etc. thanks!

hangs etherpad-lite startup

when ep_draw is installed, etherpad-lite startup hangs here:

www-data@git:/usr/share/nginx/etherpad-lite$ bin/run.sh
Ensure that all dependencies are up to date...  If this is the first time you have run Etherpad please be patient.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
Ensure jQuery is downloaded and up to date...
Clearing minified cache...
Ensure custom css/js files are created...
Started Etherpad...

the draw host is set, running, and accessible.

adaptable framework position

When the vertical scrollbar become active on the page, the framework doesn't move and so is a bit hidden behind the bar.

Create a way to Open Pads with Opaque Background

It would be helpful if a variable could be used (or if the default could be changed) so that the "toggle transparent background" option is set to non-transparent by default.

The issue is that, with the background transparent, users think that they are drawing on the pad and that all users can see their drawings as they appear on the pad itself. By making the default opaque, the transparent ability would be retained, while making it clear that drawings are separate from and unconnected to the pad text.

Some sort of release numbering system

Semver is probably a good choice, it's popular and works with everything.

We should outline some goals for the next release - what version # will it be? what should we add? etc., etc.

Personally, I think it should be a bit more speedy and also eliminate the scrollbar issue.

connection refuse occur when i click ep_draw button

did i miss something for prozy settings?
I only install ep?_draw plugin in my etherpad and added below in setting.jason

/* EP draw configurations */
"ep_draw": {
"host": "localhost:9001",
"onByDefault": true
},

Etherdraw always binds at all interfaces

No matter what is set in settings.json, Etherdraw always binds to all interfaces (*). Localhost or 127.0.0.1 makes no difference.

{
  //IP and port which etherpad should bind at
  "ip" : "localhost",
  "port" : 9002,

  ...

}
# lsof -i | grep :9002
node      11085         etherpad   10u  IPv6 155125050      0t0  TCP *:9002 (LISTEN)

This is an security issue.

Connect Draw Window to Pad

Because the draw window opens with a transparent background, users believe that, if they circle or mark text that is on the pad, all users see that circle or mark in the same place--over the same words on the pad itself. Since they don't, this leads to confusion.

Could there be a way to connect a mark on the drawing to a specific passage of text, while accounting for all screen sizes? I suspect that this would be impossible, but I wanted to raise the issue nonetheless.

502 Bad Gateway nginx/1.2.6 (Ubuntu)

I installed etherpad on my centos 6.3, works well.

I installed ep_draw plugin, but I get this showing on my pad:
502 Bad Gateway
nginx/1.2.6 (Ubuntu)

I guess I need to install the correct package, but I don't know which one.
Or should I tweak the server setting ?

I can log in (ssh) but I don't have root privilege on the server.
etherpad version: c9b80c6 (HEAD, origin/develop, origin/HEAD, develop) *
centos version: 6.3

[50€ Bounty] Export Drawing

Hey,

it would be great to have an option to export the drawing.
I already have working code to export it as an .svg file, all that would be needed is an extra button.

function download(filename, text) {
    var element = document.createElement('a');
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    element.setAttribute('download', filename);

    element.style.display = 'none';
    document.body.appendChild(element);

    element.click();

    document.body.removeChild(element);
}

canvas = document.getElementById('canvas'); 

var styleNode = document.createElement("style");
styleNode.innerHTML = "path { 
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
} ";
canvas.appendChild(styleNode);

Then you can download the file with

download("file.svg", canvas.outerHTML)

my art is not shared

The drawing part works well, but it's not shared.
I mean if I draw something, the other users don't see my drawing and vice-versa.

I see nothing in the logs.

Etherpad v1.2.9

TODO list from README

The first one is "Make the AuthorName, padID and Authorcolor passed to draw.etherpad.org". We can cross off authorcolor, but what did you want to do with author name and padID? I guess we should at some point add "Artist names" to Draw where that can translate over.

ep_draw integration with etherpad-lite

The installations of ep_draw and etherpad-lite work well for me.

When I enable ep_draw within etherpad, I have an issue with ep_draw only displaying the top bit of the document.

Etherdraw: (http://ip:9002)
etherdraw-clip

Etherpad w/ Etherdraw: (http://ip:9001)
etherpad-etherdraw-clip
Both are current from git as of yesterday. Ubuntu 20.04

If anyone has input as to what I'm doing incorrectly, I'd love to hear :)

1.8 fix required

diff --git a/static/js/draw.js b/static/js/draw.js
index 8629328..08f38f6 100644
--- a/static/js/draw.js
+++ b/static/js/draw.js
@@ -50,7 +50,7 @@ function enabledraw(){
   var padID = clientVars.padId;

   if($("#draw").length === 0){ // If it's not available already then draw it
-    $("#editorcontainer").prepend("<div id=draw><iframe id='drawEmbed' src='//"+draw_host+"/d/"+padID+"?authorName="+authorName+"&authorColor="+authorColor+"' width='100%' height='100%' style='border:none' frameborder='0' scrolling='no'></iframe></div>");
+    $("#editorcontainer").prepend("<div id=draw><iframe id='drawEmbed' src='//"+draw_host+"/d/"+padID+"?authorName="+authorName+"&authorColor="+authorColor+"' width='100%' height='100%' style='border:none;bottom:0px' frameborder='0' scrolling='no'></iframe></div>");
   }
   clientVars.ep_draw.enabled = true;
   showdraw();
@@ -65,6 +65,7 @@ function showdraw(){
     $("#draw").hover(function(){
       clearTimeout($(this).data('timeout'));
       $("#draw").animate({"width":"100%", "height": "100%"});;
+      $("#drawEmbed").animate({"width":"100%", "height": "100%"});;
       clientVars.ep_draw.fullscreen = true;
     }, function(){
       var t = setTimeout(function() { // Dont zoom out right away, wait a while

No button appears to use the plugin

Hello, I'm currently trying this plugin. I've hosted on my server an Etherdraw server on port 9002 and an Etherpad server on 9001. Both are working fine separatly but it seems I can't use the plugin to access etherdraw from etherpad. The reason is really stupid : The button just does not appears.
Is there something I'm missing? I configured the plugin to access http://localhost:9002 so it wasn't a communication-to-server problem.

Thanks for any hint or advice.

Allow Drawing Zoom

If one individual on a large screen draws, those drawings could easily be inaccessible to those users who are on smaller screens. Would there be a way to offer either a zoom function or a scrolling function to allow users to always be able to see each other's drawings? Otherwise, this can appear as a software fault since it looks like the drawings from one user aren't showing up on the drawings of another user.

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.