Entry tags:
LogJam porting question: prop_xpost_check
I'm working on an update to Evan Martin's LogJam client to support the metadata and tag changes on Dreamwidth. I have it mostly ready to go, apart from a few site-specific issues like the cut and user tags, but I'm running into a problem with prop_xpost_check. When I submit a test post that attempts to set the prop_xpost_check property, the submission fails with an 'invalid metadata' error. Is the auto-crossposting feature intended to be usable by remote clients, or is it available only when submitting through the web interface?

Re: LogJam porting question: prop_xpost_check
there was a discussion on why this is so, but i can't put my fingers on it right now, it's not in the metabug description.
however, you can institute multiposting from the client itself; i believe that's what was part of the discussion (which would also avoid loops).
no subject
I have nothing against making crossposting available to clients, it just isn't yet. Do you think that it's something that would be particularly useful for clients?
no subject
(Man, writing this comment from lynx, am now extra keen to help out accessibility w/ whatever I can. This could be friendlier.)
Useful
Also, a lot of the people I've talked to are touting the crossposting bit as one of the killer features of DW. Considering the inherent laziness of people (myself oh so definitely included), I can think of a lot of people who would love it if they can do it from an endpoint client as well as the web-based client...
no subject
no subject
Since auto-crossposting is probably the most significant feature in making migration to Dreamwidth easier, it seems allowing clients to use it would be a benefit, and I don't see what harm it would do. (Of course, it would require careful testing, particularly of edit-and-resave.)
Re: LogJam porting question: prop_xpost_check
no subject
no subject
Re: LogJam porting question: prop_xpost_check
The problem would come up if, instead of making the client explicitly request a crosspost, you instead just declared that posts coming in from clients and email are assumed to want the default crossposting behavior. Then you could run into a situation where account 1 was set up to automatically crosspost to account 2, and account 2 was set up to automatically crosspost to account 1. Then you'd have a loop. (I suppose you could get out of that by putting in an explicit crosspost disable that happens on crosspost, but I'm not really sure that's a better solution.)
no subject
Now, of course, that approach would mean that the server would not keep track of those crossposts, so if the user came back and edited the original post via the web, then those changes wouldn't be propagated to the various crossposts. (You could actually get around that by exposing the crosspost mapping to the clients, so that they could register the crossposts with the server themselves.) It would also mean that the clients would have to duplicate the various server configurations, so if we find that IJ doesn't support some particular metadata, then that information would have to exist both in the DW code and in each client that does crossposting.
I guess what I'm saying is that, yes, of course, clients should be able to crosspost between DW and other services. But I also think that at least some of the support for that should be done on the client side. Now, whether that should be just that the client says, yes, crosspost this to my other accounts, or that it does all of the crossposting on its own, or something in between... Well, I'm less sure about that.
Now if only we had someone who was actually coding for a client to give an opinion on that... :)
no subject
The crosspost is done server-side when using the web client, is it not? I don't see why that should have to be different when using a non-web client.
no subject
(I ended up using a Greasemonkey script to make the quote button act consistently on LJ.)
Re: LogJam porting question: prop_xpost_check
I would think the only way to avoid that problem, if multiple crosspost-enabled journal sites exist, is to have the server be able to recognize when it receives a crosspost request for an article it has just sent out as a crosspost itself, and stop the loop. Neither a standalone client nor the web client has the ability to detect and stop a crosspost loop, but the server does.
Re: LogJam porting question: prop_xpost_check
Because the web interface is the part that initiates the crossposting, but the crossposts themselves are done via the XML-RPC interface. So when a crosspost is done, it skips the web interface, thus guaranteeing that no additional crossposts will happen.
...That really isn't very clear, is it? Think of it this way: a running Dreamwidth instance is both a server and client. It's a server in that it can it can create and serve up journal entries via a standard protocol. It's a client in that it can display those entries in a nice format to the user, and can also put up a web form for posting new entries, and then translate the submitted form into a properly formed protocol request to send to the server.
So the crossposter is actually implemented in the client part of Dreamwidth, not the server part. Which is why if you use a different client, be it an external standalone client or just a different interface (like the email gateway), it doesn't function.
no subject
That is to say, if I crosspost something and then decide it needs editing, I generally decide it needs editing because of the way the entry appears on the reading page or in my journal, and it's pretty common for me to edit the entry in the website interface, even if I originally posted with a client. (Sometimes, if I posted from another computer.)
My model holds true if the "client" I used to post was some other webservice, like e-mail or flicker or a delicious post, so I can see a fairly broad application.
no subject
No, really, the whole client support thing wasn't taken into account in the crossposter design. It will almost certainly be updated at some point, assuming that someone has the time to code it. There will be certain features that would be nice to have that won't get put in for technical reasons. (For instance, taking your example, it would be nice if you could actually edit your crossposts at LJ and have the changes propagate back to the post on DW, but unless LJ wants to update their code, it's not going to happen.) But hopefully it will be something that works for most cases.
no subject
(Anonymous) 2009-05-08 11:25 am (UTC)(link)no subject
Now, if I could just manage to do something else with DW that's unrelated to crossposting, I'd be a happy camper.