Skip to content
JohnMcLear edited this page Nov 23, 2014 · 82 revisions

Table of Contents

IMPORTANT TODOS

Feel free to add a +1/-1 with your name if you like or dislike the idea

server access

and _all_ applets, js, images, i.e. all resources (res) use the subdirectory /res It is currently very difficult to have "nice urls" - see my RewriteRules in the EPL Wiki - and still have difficulties when accessing through firewalls.

The server.js should be cooperative when parsing the requests, I mean, a better server.js can make the most of the RewriteRules obsolete, which will make everything more robust, secure, and testable. (+1 rasos)

installation issues

  • Make it easier to install and edit and create a one-line install (make) script like npm has (-1 micah -1 emirotin, -1 rasos)
  • Add instructions for other, non-Debian Linux OS's on the Wiki. (-1 micah +1 emirotin -- put link to external article describing node.js install - would be enough)
  • Package it for (at least) Debian and try to have it integrated to official repos (+1 matlopes)

pad administration

  • on random pad name creation: before actually creating a random pad name, prompt the user to allow her to modify the generated hash to enable pad names like http://www.example.com/Wikinaut--To-Do-List-xBDztF8hjreDRktteg (assigned to Wikinaut)
  • check and sanitize user entered or modified pad names (assigned to Wikinaut)
  • Delete pads (+1 toco,+1 devoutskeptic, +1 Masses-Fallacy, +1 scanferla, +1 flosse, +1 erucolindo, +1 JanCBorchardt +1 micah, +1 johnmclear, +1 nodiscc, +1 TinaJamPearl, +1 aperezdc, +1 ulikoehler, +1 jefferai, +1 anarcat)
  • Allow deletion of a pad for the user who created it (implementation idea: when a pad is created, show a long special token hash in an alert box, and store it in the database, perhaps store it in a cookie for this user. When the cookie is present, show a "delete this pad" button for this user.) (+1 anarcat)
  • Adminpanel (dashboard) to manage all pads on the server (+1 0ip, +1 toco, +1 devoutskeptic, +1 Maja88, +1 Masses-Fallacy, +1 scanferla, +1 bingjie, +1 bong0, +1 erucolindo, +1 JanCBorchardt, +1 nodiscc, +1 jhollinger, +1 marcelklehr, +1 TinaJamPearl, +1 aperezdc, +1 ulikoehler +1 jefferai, +1 anarcat, +1 rasos). See developer version on http://beta.etherpad.org/example_big.php? and source https://github.com/TomNomNom/etherpad-lite-client. (--Set up a web server running PHP, just to have a decent dashboard!? I'd like to have this in epl-core or as a plugin! -marcelklehr, +1 TinaJamPearl, +aperezdc)
  • auto-prune the database: remove edit revisions which fulfill some criteria. Examples are: delete the oldest, keep last n revisions, remove m-out-of-n revisions, keep revisions of the last n days... keep the last 200 revisions, but at least one revision per day... keep major revisions, i.e. revisions which differ substantially in more than n characters. (+1 anarcat, +1 rasos)

import / export

  • Printbutton (+1 MyPixelsOnYourScreen, +1 nodiscc, +1 TinaJamPearl) -- See ep_print
  • Import/Export in native JSON with full pad history & authordata (+1 rspeer, +1 dcht00) -- See JSON export/import pull requests
  • Create tests and may some kind of code style checker (+1 rspeer +1 emirotin) -- Frontend Tests exist in /tests/frontend already -- backend tests required.
  • implement Multimedia (Video/Audio player, Pictures) (+1 0ip, +1 Maja88, +1 devoutskeptic, +1 bingjie, +1 MyPixelsOnYourScreen, -1 rspeer, +1 cronopio, +1 JanCBorchardt, -1 micah, +1 johnmclear, -1 nodiscc, -1 anarcat) -- Lots of this is available as plugins
  • Tables (+1 0ip, +1 scanferla , +1 bingjie, +1 jcharaoui, +1 MyPixelsOnYourScreen, -1 rspeer, +1 JanCBorchardt, +1 johnmclear) - See ep_tables
  • when importing from clipboard or import, have a clean-up function which eliminates excess white spaces, and/or new lines. -- Done
  • Cleanup exports code (i. e. factor out common code in ExportDokuWiki.js and ExportHtml.js, see #141)
  • use the interoperable TextWheel format to easily push final text to CMS and any other system using it (see https://code.google.com/p/textwheel/wiki/TextWheel )

page editing and rendering

  • as a switchable option: mark deletions with "strike-through" attribute instead of actually deleting
  • RSS Feed for updates (e.g. the 10 most recent pages) <-- see ep_rss
  • Syntax highlighter plugin: processing, c, ruby, js, ... (+1 0ip, +1 scanferla, +1 devjones, +1 geier, +1 martindale,+1 bong0, +1 rspeer, +1 JanCBorchardt +1 emirotin - I can suggest http://pygmentizer.appspot.com/ ). 60$ bounty for the implementor]( http://gun.io/contracts/7/add-syntax-highlighting-to-etherpad-lite ) & someone tried it before ( https://github.com/Pita/etherpad-lite/issues/121 ) -- See ep_codepad
  • Anchors for in-doc linking (+1 devoutskeptic, +1 jcharaoui, +1 rspeer, +1 micah)
  • Markdown support like pagedown (+1 rspeer), but making something that's both Markdown and live-editable is going to be interesting from an interface point of view. Not impossible, but interesting. -- See ep_markdown
  • add a basic spell checker (-1 TinaJamPearl, -1 anarcat) -- see ep_spellcheck
  • add a shortcut function, e.g. a set of pre-programmed abbreviations which gets expanded as you type

authentication, authorisation, security, user adminstration, multi-user issues

  • detect "REMOTE_USER" detected in the server.js - when it is available after a user authentication (Basic or negotiated, i.e. Kerberos) (+1 spicewiesel,+1 schinken, +1 aperezdc, +1 anarcat)
  • External authentication for users (i.e. connect to ldap, oauth, OpenID etc) (+1 sdague, +1 wikinaut +1 matlopes, -1 anarcat - see above instead, imap +1 rasos, +1 LDAP tilllt)
  • Password protected / encrypted pads (+1 0ip, +1 jcharaoui, +1 flosse, +1 MyPixelsOnYourScreen, +1 erucolindo, +1 micah, +1 wikinaut, +1 nodiscc, +1 snaut, +1 spruce, +1 TinaJamPearl, +1 matlopes, +1 anarcat - with the above, only need proper authorization, +1 nilstoedtmann) -- see settings.json
  • Add teampads/private pads/pro pads, like in the original Etherpad (+1 scanferla, +1 flosse, +1 martindale, +1 JanCBorchardt, +1 cube, +1 micah, +1 spruce, +1 TinaJamPearl, +1 matlopes, +1 meredrica, +1 Gared, +1 mluto, +1 rasos, +1 nilstoedtmann).

miscellaneous

  • Robustness: the server shouldn't go down over a single error (+1 rspeer, +1 scanferla, +1 anarcat)

databases

  • PhpBB3 Connection/User Sync (+1 jcharaoui, +1 Maja88, +1 martindale)
  • MyBB Connection/User Sync
  • Joomla Connection/User Sync (+1 justfortherec)
  • some NoSQL database, since that's what we seem to be treating the DB engine underneath anyways (berkeley DB, MongoDB, Redis etc) (+1 anarcat)

General

Resources

For Developers

How to's

Set up

Advanced steps

Integrating Etherpad in your web app

for Developers

Clone this wiki locally