-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
TODO
Matic Potočnik edited this page Aug 2, 2017
·
82 revisions
Feel free to add a +1/-1 with your name if you like or dislike the idea
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)
- 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) +1
- 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, +1 derGali)
- 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 )
- cleanup of the toolbar - it overflows easily in narrower windows. It would be advisable to remove rarely used things from toolbar and leave them in the menu only (superscripts ie.) and merge formatting buttons to groups like google docs do - for example there would be only one button with alignment (showing current alignment) and if you click it "submenu" of other buttons rolls down. etherpad needs to be clean and lite
- as a switchable option: mark
deletionswith "strike-through" attribute instead of actually deleting (-1 unless it only applies to recent deletions, it gets a big mess very soon, I have experience with this when using "tracking changes" in LibreOffice. Here however you can "approve" the changes time to time so they get deleted for good and do not show anymore. Therefore I suggest something like "cleanup all deletions" function with this) - RSS Feed for updates (e.g. the 10 most recent pages) <-- see ep_rss
- Syntax highlighter plugin: processing, c, ruby, js, ... (+1 dwendt, +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, +1 dwendt, have it work like github preview)
- 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
- 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).
- Robustness: the server shouldn't go down over a single error (+1 rspeer, +1 scanferla, +1 anarcat, -1 mblum14)
- 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)
- Docs
- Translating
- HTTP API
- Plugin framework (API hooks)
- Plugins (available)
- Plugins (list)
- Plugins (wishlist)
- Etherpad URIs / URLs to specific resources IE export
- Etherpad Full data export
- Introduction to the source
- Release Procedure
- Etherpad Developer guidelines
- Project to-do list
- Changeset Library documentation
- Alternative Etherpad-Clients
- Contribution guidelines
- Installing Etherpad
- Deploying Etherpad as a service
- Deploying Etherpad on CloudFoundry
- Deploying Etherpad on Heroku
- Running Etherpad on Phusion Passenger
- Putting Etherpad behind a reverse Proxy (HTTPS/SSL)
- How to setup Etherpad on Ubuntu 12.04 using Ansible
- Migrating from old Etherpad to Etherpad
- Using Etherpad with MySQL
- Customizing the Etherpad web interface
- Enable import/export functionality with AbiWord
- Getting a list of all pads
- Providing encrypted web access to Etherpad using SSL certificates
- Optimizing Etherpad performance including faster page loads
- Getting to know the tools and scripts in the Etherpad /bin/ folder
- Embedding a pad using the jQuery plugin
- Using Embed Parameters
- Integrating Etherpad in a third party app (Drupal, MediaWiki, WordPress, Atlassian, PmWiki)
- HTTP API client libraries