Skip to content

Dan: Upgrade Etherpad package (to 1.18.14 or close) #15

@orblivion

Description

@orblivion

Total

(This got a little complicated since there was wrapup stuff not really in any category. Will probably leave milestone metrics below as "out of date" unless people are very interested.)

  • Estimated Originally: 17.5-44.5 hr
  • Currently: 38 hrs at the point of experimental app release. Will update after it's in the market in case I need to fix things.

Milestones (out of date)

This section got out of date as far as hours, and it'll probably take more time than it's worth to get back up to date. But keeping around in old state in case anyone cares.

Get started on spk based on Ian's vagrant-spk version

  • Convert vagrant-spk -> spk
    • Estimated: 2-4 hr
    • Actual: 3 hr

Caveat on vagrant-spk -> spk:

  • Figure out why spk packed version can't find any files in the package.
    • Not /usr/bin/bash, not launcher.sh, nothing.

Based on Kenton's changes:

  • Sandstorm Packaging Stuff

    • Graphics, md files, pkgdef, etc
    • Estimated: 1 hr
  • Trivial items

    • Remove excessive logging and console warnings
    • Estimated: .5 hr
  • Style

    • Style tweaks, some for avoiding cutting things off (avatar in sidebar, which Kenton added to ep_author_neat)
    • Estimated: 1-4 hr
      • Pessimistic end of estimate: the new version could be styled sufficiently differently that these tweaks are nontrivial to replicate.
  • Minifying/Caching/Performance

    • Upstream etherpad (as of the old version, at least) minifies on runtime. Kenton's etherpad minifies during the build phase (need to run etherpad outside of Sandstorm manually to trigger it), saving results to ./cache which gets packaged. At runtime, it uses ./cache and and bypasses all minifying.
    • Estimated: 2-6 hr
      • This seems like something that may or may not have changed a fair amount under the hood over the years.
    • Actual (so far): 10hr
  • Dependencies

    • Install plugins, including two modified plugins (ep_comments_page and ep_author_neat) from source. (these have their own milestones)
    • Install sqlite3 and capnp.
    • Estimated: 1-10 hr
      • Long side of this estimate is based on updated plugins causing surprise problems.
    • Actual: 4 hr
  • Migrating dirty.db -> sqlite

    • Dirty.db is Etherpad's default database. Etherpad-Sandstorm used it for very early versions. We ideally should still migrate for the sake of those folks.
    • Estimated: .5 hr
      • I don't see how changes in the latest Etherpad could create surprises here given that this migration runs in the kickoff script.
  • Sandstorm Profile Integrations

    • Automatically populate author name and avatar. Make avatar available in ep_author_neat (see below).
    • Estimated: 2-4 hr
    • Actual: 4hr
  • Sandstorm Auth/Permission Integrations

    • Replace Etherpad identity and permission with Sandstorm's
    • Estimated: 2-4 hr
      • Would be faster, except I worry there may be new places that I have to patch in this permission. Risk may be unauthorized access.
    • Actual: 3.5hr
  • Sandstorm Activities Integrations

    • Posting Sandstorm activity on edit
    • Estimated: .5 hr
    • Actual: .5hr
  • Assorted

    • Settings - initial messages and other cosmetics, basic configs. One text change (which Kenton has noted may warrant translation). Redirect to a document instead of the Etherpad home page.
    • Estimated: 1-2 hr
      • Gonna check for new settings. Something interesting could come up.
  • ep_author_neat

    • UI/styling bugfixes and tweaks. Alter behavior for attributing a paragraph to an author. Show avatar in the sidebar (using changes in etherpad-lite).
    • Estimated: 2-4 hr
      • Some competing upstream changes
    • Actual: 4 hr
  • ep_comments_page

    • UI/styling bugfixes and tweaks. Sandstorm permission: comment. Sandstorm activity: comment.
    • Estimated: 2-4 hr
      • Upstream made a lot of commits
    • Actual: Way over, but I'll count 4 hr

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions