Skip to content
Jason Held edited this page Dec 29, 2013 · 82 revisions

Table of Contents

IMPORTANT TODOS

-- please don't touch this part, Pita

  -- any reason this section has been staying here for over a year?
  -- yep. Because you mustn't touch it. All the etherverse is built upon this rock, so if you touch it.. Just don't touch it!

Suggestions

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)
  • Import/Export in native JSON with full pad history & authordata (+1 rspeer, +1 dcht00)
  • http://code.google.com/p/google-code-prettify/ (easy to integrate and to customize, lightweight)
  • Create tests and may some kind of code style checker (+1 rspeer +1 emirotin)
  • 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)
    • Simple picture insertion and resizing (+1 nodiscc)
  • Tables (+1 0ip, +1 scanferla , +1 bingjie, +1 jcharaoui, +1 MyPixelsOnYourScreen, -1 rspeer, +1 JanCBorchardt, +1 johnmclear) - ep_tables plugin works fine!
  • when importing from clipboard or import, have a clean-up function which eliminates excess white spaces, and/or new lines.
  • 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)
  • 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 )
  • 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.
  • add a basic spell checker (-1 TinaJamPearl, -1 anarcat)
  • 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)
  • 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

  • PostgreSQL support (+1 emirotin, +1 thepicard, +1 meredrica)
  • PhpBB3 Connection/User Sync (+1 jcharaoui, +1 Maja88, +1 martindale)
  • MyBB Connection/User Sync
  • Joomla Connection/User Sync (+1 justfortherec)
  • LevelDB support (+1 ulikoehler - see https://github.com/Pita/ueberDB/pull/11 )
  • some NoSQL database, since that's what we seem to be treating the DB engine underneath anyways (berkeley DB, MongoDB, Redis etc) (+1 anarcat)

Comments

Apparently I'm the first one to use -1's, so I hope I'm not causing offense.

I think adding things that aren't text (multimedia and tables) to an EtherPad would take away some of the "liteness" of EtherPad Lite, causing bloat in the document model and complicating the interface. That kind of feature should be a plugin. --rspeer

I think the work can start with support for pictures, and a button for enable/disable pictures o maybe a document privilege for some user to add/remove pictures. I will fork and study more the code. Thanks for all the work.--cronopio

I am not a techie so i dont know if i just look over something, but i would luv a embed code which just takes out/exports the content of the pad, not the whole editor with all the surrounding editor button. (I am looking for a way where a single central social editing place will update content on several websites at the same time)(MyPixelsOnYourScreen)

Have you considered implementing Redis? I don't know the exact performance needs of etherpad as far as DB access, but in some cases I'd just rather not have an SQL server at all, and SQLite for heavy write traffic is dubious. -- thepicard

Please implement the Pad management and User management of EP again, we loved it and wait for it desperately ;-) I realized that you have a httpAuth option - would it be possible to add this to the windows version, too? would be very helpfull. TinaJamPearl

Thinking about the primary field of LDAP authentication (mid to large organizations) and the scope of potential usergroup of etherpad (mid to large organisations & general public), i think LDAP as authentication would be really useful to implement ASAP. At our univserities department i am not willing to handle seperate authentication methods except for one big LDAP database, that is work enough.

btw. probably you should contact the guy that shows up as first hit when searching for etherpad-lite & ldap to either close down his project or start working in something usable. Like this it's just confusing for potential users to find a non working ldap modification. tilllt

General

Resources

For Developers

How to's

Set up

Advanced steps

Integrating Etherpad in your web app

for Developers

Clone this wiki locally