ExPost - doc.bmndr.com OSS?

So I’ve known about this repo and I see you’ve dropped a couple links to doc.bmndr.com pages here and there, well I just found ExPost at the root URL by accident, and I’m intrigued…

Dogfoodaliciousness: This page is rendered live from [redacted].
What’s this do?

ExPost replaces the built in WordPress editor with an Etherpad. This is really useful if you want to collaborate with someone on posts for your blog, … You can work on the post from wp-admin if you like (we embed the pad), or from the Etherpad directly, but only a user with permission to publish on your blog can make the content go live.

Is any of this stuff OSS? I went looking for ExPost after I read a little bit, and Google already knows “expost etherpad” as doc.bmndr.com with the 4th result (probably higher after this post), but I can’t find any indication that there’s any way for me to deploy this magic for myself.

So, what else? Well, we also run the content from the Etherpad through a markdown library and implement a super sweet LaTeX-style numbering scheme that makes it easy to do named references back to items in a numbered list, and not worry about the order or number of the reference changing. Particularly handy for writing FAQs and Footnotes.

Seriously this is beginning to sound like “the sleeper.” You could bottle this up and sell it, we’ll buy!

I mean, I’m not in a purchasing role or anything, but this is exactly what we need. If we don’t buy it, that would be our loss. My preference is that it be OSS, I don’t know which one makes it more likely that my people get to use it, but… am I blowing this way out of proportion here?

Anyway, I suspect this is a bit larger than a WordPress plugin or Etherpad plugin, but the nearest thing I find is something called an “Export” plugin. That’s almost ExPost. So, how is this wizardry deployed in practice? Ansible playbook? Helm chart? (And would it be presumptive of me to ask if you would be willing to share, or is it a proprietary special sauce?)


It’s all wide open! The two pieces are our fork of Etherpad and ExPost. I don’t think anyone uses this but us and I’ll be surprised if it’s worth the effort of getting this working on any other system but we’d love to hear about it if you do. We can’t actually support it or anything but happy to answer questions. Or if you want a more permissive license or anything, just let us know.

Awesome! That’s about the best response I could have asked for.

We’ve been told (here at $dayJob) that our Wiki is going away at the end of the year, and the approved alternatives we’ve been shown are all terrible. I just have a feeling that if I show this to my manager, I’m going to make someone’s day.

I would have never proposed Etherpad by itself, but the ExPost write-up looked like it checked an awful lot of boxes. Maybe we don’t actually wind up using it here, but I’ve been a blogger-collaborator before, and writing markdown in a Google Doc is the best option I’ve seen in the past (I’m sure you understand, by best option what I mean is that’s an objectively terrible way to work.)

1 Like

I will see if I can spin up a Kubernetes Helm chart with what you have already shared and let you know how far I get!

I got pretty far on it last night! Bitnami has a wordpress chart that bundles mariadb, and that was easy enough. Then I figured out that expost is a plugin, and that plugins are installed by putting them into the “plugins” directory. :blush: it seems like that worked, anyway.

Now I understand that an etherpad instance must be deployed separately. Is there anything in your etherpad fork that is a not optional enhancement, required to work with ExPost? Or is it important to be on this particular version? (And for that matter, does ExPost require a particular version of WP, or are there other plugins that must be installed alongside?)

What I tried next, was to edit the first post. So I found this guy:


and I guessed that I could put in any Etherpad URL. So I did that, and pressed “Update” and well, that’s where I got stuck.

I have <p>Voila, a new pad. Edit me!</p> but I don’t have any changes reflected in the Etherpad document. Next I was planning to stand up your Etherpad fork in a separate pod, from the same chart (so this could eventually be a one-step deployment process.)

Anywhere you can spot right away where I’ve gone wrong? I’ve looked through all of the README and deploy.sh docs, and I don’t know exactly how current they are, but they don’t seem all too complicated. I took some liberties… for one thing, your ExPost documentation mentions an nginx configuration, well my WP install (bitnami) came with Apache.

That didn’t seem to be a problem, but it might turn out to be… I’m pretty much just guessing how these pieces fit together.

No, ExPost shouldn’t care about anything about the Etherpad installation other than it being publicly available. It might be depending on the format of the plaintext export URL though, which is to append /export/txt to the pad’s URL.

I doubt it and hope not. I’d like to upgrade our version before long.

We keep our WordPress version up to date so no to that. Other plugins… I don’t think so but have very little confidence in that. Here’s another hand-built plugin we use: https://github.com/dreeves/openbook

One way I could be more helpful: if you have a public etherpad server up, I should be able to slurp blog posts to our blog from it. If that works then the problem is not with your etherpad setup. You can DM me an etherpad URL if you want to try that.

That may not be necessary. I just found some errors in my Inspector console indicating that while I’ve set up SSL, WordPress does not know that and so it is directing scripts to be downloaded over HTTP (which is not permitted.)

That also explains why Live Preview and the other button that ExPost provides looked unstyled and weren’t functional. Will let you know when I know more… I was able to get an Etherpad install tenuously stood up as well, so could be in operation soon!

1 Like

Well, now I’m not getting any JS console errors but enabling ExPost (it’s the only plugin enabled) affects the style of WordPress admin pages, squishing everything into the left half of the screen.

That, and I’m not seeing the “Etherpad source url” entry widget anymore. It also wiped out my dummy articles and replaced them with new dummy articles. I almost think it might be configured to slurp some posts from somewhere by default…

edit: Yep, I found some references to the beeminder etherpad site in there. I replaced them with my own, and the source URL widget is back, live preview always says “Voila, a new pad. Edit me!” and the Source button brings up an Etherpad (again, it looks like it’s squished to be half width in the half-width column) – it does not look like the content from Live Preview, and editing it seems to have no effect.

Aaand… yep there’s this yootles in there too. There are a couple of URLs in there that refer to sites that aren’t mine, I probably need to know what exactly they’re for and how to properly massage them so that they’re connecting to the right things, and don’t say “beeminder” in them (sorry, nothing personal! :wink: