User Tools

Site Tools


collaborative_real-time_editor

If you want to send us your comments, please do so. Thanks
More on comments


Collaborative real-time editor

Our requirements

  • Available in the Debian repository
  • Easy to install, setup and maintain

Applications

NameRemark
GobbyGet started. Setting up a dedicated server needs some effort. Gobby seems to be abandonware. No updates, actions, since 2014
Not in the Debian repository(below this line)
CKEditorClosed source
cryptpadWebbrowser based
EtherpadNeeds git and node.js . Example: https://etherpad.nl. Export of the document is possible in Etherpad, HTML, TXT, PDF, Word, ODF format. Only documents in Etherpad format are fully restored when loaded again. HTML is restored with all the markup except the colors. For TXT files bullets are replaced by *'s and ordered list have their numbers. PDF looses indents. Bulleted lists are restored as are ordered lists. Restore from Word or ODF files does not work
FirepadWebsite and Cloud based
OnlyOfficeSeems complicated
ProseMirrorNeeds npm to get installed
SketchpadWebbased only

Gobby

Gobby is a client for the infinoted dedicated server for the infinote protocol
Install the dedicated server. See Dedicated-Server which has a list with plugins

Setting up Gobby

  • If you run your own server set it up first. See below
  • Install gobby via aptitude
  • A settings window appears
    • Enter a username
    • Choose a color
    • Unselect “Allow remote users to edit local documents”
    • Click on the “Close” button
  • File | Connect to server
    • Enter the address of the server: example.com:portnumber
    • Enter the password
    • You should be connected now

Setting up the server

  • Become root
  • mkdir -p /var/data/gobby
  • chown -R root:users /var/data/
  • chmod -R g+w /var/data/
  • Install gobby via aptitude
  • Install infinoted via aptitude
  • vi /etc/xdg/infinoted.conf (remarks are in between ( ) )
    • key-file=/home/ck/infinoted-key.pem
    • certificate-file=/home/ck/infinoted-cert.pem
    • security-policy=require-tls
    • log-file=/var/log/gobby
    • listen-address=IPv4 adress (like 192.168.1.1 or an IPv6 address (this is the default) if you want that)
    • port=6523 (This is the default)
    • root-directory=/var/data/gobby
    • plugins=note-text (Default, should always be included)
    • password=somehash (Needed by clients before being allowed to connect to the server)
  • Save /etc/xdg/infinoted.conf
  • infinoted-0.7 --create-key --create-certificate --key-file key.pem --certificate-file cert.pem (Running this without the --key-file and --certificate-file options does not generate the Diffie-Hellman parameters) Output
[Mon 18 May 2020 10:02:21 PM UTC]    INFO: Generating 4096 bit RSA private key...
[Mon 18 May 2020 10:02:22 PM UTC]    INFO: Generating self-signed certificate...
[Mon 18 May 2020 10:02:22 PM UTC]    INFO: Loaded plugin "note-text" from "/usr/lib/x86_64-linux-gnu/infinoted-0.7/plugins/libinfinoted-plugin-note-text.so"
[Mon 18 May 2020 10:02:22 PM UTC]    INFO: Generating 2048 bit Diffie-Hellman parameters...
[Mon 18 May 2020 10:02:22 PM UTC]    INFO: IPv4 Server running on port 6523
  • CTRL-C
  • infinoted-0.7 to start the server without key and certificate generation
  • Users will have to accept the self-signed certificate the first time they connect to the server

Command line parameters

If an option is used in the configuration file /etc/xdg/infinoted.conf then omit the double dash -- and add an = sign between the option and the value (no spaces)
The options --config-file and --help can not be used in the configuration file
Configuration options which are used on the command line override the values read from the configuration files. On the commandline a space or an = can be placed between the option and the value

OptionExplanationRemark
--config-fileAlternative configuration file
--create-certificateCreate a new self-signed certificate that is valid for one year and signed with
--create-key4096-bit RSA private key. Store at the path given by the key-file setting
--certificate-file=CERT-FILE
--certificate-chain=CERT-FILEOptional file
--daemonizeRun the server in the background
--helpList all commands with more information than given in this table
--key-file=KEY-FILEPath to the server's private key
--kill-daemonKill a running daemon and exit
--log-file=LOG-FILEWrite to a logfile, in addition to stdout
--listen-address=ADDRESSThe IPv$ or IPv6 address to listen on
--plugins=PLUGIN-NAMEDefault=note-text
--plugin-parameterOverride a parameter of a plugin. Can be given multiple times to override more than one parameter. Syntax: plugin:key:value
--security-policy=require-tlsDefault=require-tls
--password=PasswordThis option cannot be combined with --pam-service
--pam-service=SERVICEThis option cannot be combined with --password
--pam-allow-user=USER
--pam-allow-group=GROUPS
--root-directory=DIRECTORYThe directory which infinoted uses to permanantly store all documents on the server, and where they are read from after a server restart. [Default=~/.infinote]
--versionPrint version information and exit

Remarks

  • The libinfinity-0.7-doc package is of no use (changelogs)

Issues

Key creation

This is caused by a wrong entry in /etc/xdg/infinoted.conf . Running

infinoted-0.7 --create-key --create-certificate

or

infinoted-0.7 --create-key --create-certificate -k key.pem  -c cert.pem

resulted in

Error reading configuration file "/etc/xdg/infinoted.conf": Key file contains line “certificate-chain” which is not a key-value pair, group, or comment

Solution: Remove the line “certificate-chain” from /etc/xdg/infinoted.conf. It does not belong inthere

Address already in use

Here, with Address, the portnumber is ment

infinoted-0.7 --create-key --create-certificate results in

[Mon 18 May 2020 09:57:03 PM UTC]    INFO: Generating 4096 bit RSA private key...
[Mon 18 May 2020 09:57:05 PM UTC]    INFO: Generating self-signed certificate...
[Mon 18 May 2020 09:57:05 PM UTC]    INFO: Loaded plugin "note-text" from "/usr/lib/x86_64-linux-gnu/infinoted-0.7/plugins/libinfinoted-plugin-note-text.so"
[Mon 18 May 2020 09:57:05 PM UTC]   ERROR: Address already in use

Solution: Set an other port in /etc/xdg/infinoted.conf : port=someportnumber (not 6523)

Auto start

There is a bug in Debian which prevents infinoted from autostarting with the /etc/systemd/system/infinoted.service file
Errors found in the process

systemctl enable infinoted.service
Failed to enable unit: File /etc/systemd/system/infinoted.service already exists.

Maybe has todo with the bug

systemctl enable infinoted.service
Failed to enable unit: Unit file infinoted.service does not exist.

The file infinoted.service does not exist. Create it. An example can be found here

systemctl status infinoted
Unit infinoted.service could not be found.

The file infinoted.service does not exist. Create it. An example can be found here

systemctl start infinoted.service
Warning: The unit file, source configuration file or drop-ins of infinoted.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Run: systemctl daemon-reload
With journalctl we found

mei 20 19:56:44 hostname systemd[1]: Started collaborative text editor service.
mei 20 19:56:44 hostname systemd[16437]: infinoted.service: Failed to determine user credentials: No such process
mei 20 19:56:44 hostname systemd[16437]: infinoted.service: Failed at step USER spawning /usr/bin/infinoted: No such process
mei 20 19:56:44 hostname systemd[1]: infinoted.service: Main process exited, code=exited, status=217/USER
mei 20 19:56:44 hostname systemd[1]: infinoted.service: Failed with result 'exit-code'.

Informational

Remove all symlinks to the unit files:

systemctl disable infinoted.service
Removed /etc/systemd/system/multi-user.target.wants/infinoted.service.

Reload the configuration file of the unit infinoted.service

systemctl daemon-reload infinoted.service

Show all parameters of infinoted.service:

systemctl show infinoted.service

Main subjects on this wiki: Linux, Debian, HTML, Microcontrollers, Privacy

RSS
Disclaimer
Privacy statement
Bugs statement
Cookies
Copyright © : 2014 - 2022 Webevaluation.nl and the authors
Changes reserved.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
collaborative_real-time_editor.txt · Last modified: 11-12-2021 16:13 by wim