Sillybean
HTML Import 2.1 fixes your links
I’ve just released version 2.1 of HTML Import, which includes a new option to fix internal links. As the importer runs, it builds a list of old paths vs. new permalinks. You’ll see that list reflected in the .htaccess redirects when the import is complete. This new function runs after all the files have been imported, so it can use that list to match up link URLs with the new WordPress posts.
Like the image import function added in 2.0, the link function should be able to handle relative links:
<a href="http://foo.com">foo.com</a> <a href="/images/foo.png">foo.png</a> <a href="../../foo.html">foo.html</a>
The new option is a checkbox in the Content section. Give it a whirl, and let me know how it goes in the support forum.
Warning users not to edit the posts container page in WordPress
I have this one user. You know the one; we all have one like her. Giving her the power to do things on her own is kind of pointless, because she can’t ever remember how to do them.
In particular, she can’t seem to retain the procedure for adding news to the site. She knows that to edit almost everything on the site, she goes to Pages. And since she sees a News page there, she clicks it, thinking that’s where the news goes. Of course, it isn’t. This site is set up to use a page for the front page, and the News page is the posts container.
But you know what? The WordPress UI is kind of unclear on this point, and if I have one user who calls me up because she can’t remember how to do this, I probably have twelve more who are just too frustrated and/or embarrassed to ask. So I put a warning on that page (and ONLY on that page) telling them to go to Posts instead of editing the page.
This is the code that went into functions.php: See the code
Pregnancy, insomnia: a metaphor
It was a quiet morning in the Admin offices, something that occurred all too infrequently these days. I took my coffee downstairs, to the internal monitoring room. It had been too long since I’d last checked in.
Joe was seated at his semicircle of screens, as he always was. I’d never seen anyone else on duty down here, and I was beginning to wonder if he ever slept. Well, none of us slept much anymore.
“Hey,” he greeted me without turning around.
“How’s it going?” I hitched one leg up on the edge of his desk and sipped my coffee.
He sat back, turned to me, and grimaced.
“That well,” I said, and sipped again.
He shrugged. “Could be worse.” He gave me a sharp, assessing look. “You look like hell. How are things upstairs?”
“The boss still isn’t sleeping, so none of us are, either.” He made a sympathetic noise. “It’s getting bad. Last week, one of the interns just fell over while she was walking to the kitchen. She sat up again after a minute and went back to her desk, but she’s got this strung out look I don’t like.”
“You look pretty strung out, yourself.”
“Yeah, well, we’re all a little ragged up there. And Systems is reporting all kinds of weird glitches.”
“Like what?”
“Well, you know how at first everything was just really sluggish, and the external sensors’ reports didn’t make any sense?” He nodded. “That’s gone away, but now we’re getting surges in processing, followed by gaps in the memory.”
He frowned and said, “We’ve got glitches, too. The plumbing crew is reporting an unusual amount of gas in the lines, but they say it’s not causing any problems.”
“Weird.”
He snorted. “You want weird? Take a look at screen number six.”
I scanned his array of monitors. Screen six was blank. “There is no number six.”
“Exactly. Been off since this whole mess started.”
“You can’t fix it?”
“That’s the weird thing. Nothing wrong with the monitor. We’re just not getting any input from that sector.”
I set my coffee down. “What do you mean?”
“I mean, it’s there. It’s just not reporting its status anymore. But — something’s going on in there.”
“Like what?”
“No idea. Without eyes in there, we’re just inferring from changes in the system. For example, it’s draining power. Not so much that it’s shut us down, but it’s noticeable. And it’s raising the temperature, too.”
I stared at him. “Something in there has control of the thermostat?!” That would be very, very bad. There were all sorts of delicate systems scattered throughout the facility. The slightest deviation…
“No,” he assured me. “I think it’s just that… well, there is something in there, and it’s warm. Raises the ambient temperature a bit.”
“Something warm is in there,” I repeated. I scrubbed one palm over my face. This was just too weird. Maybe I was starting to hallucinate.
“Yeah. We hear something thumping on the walls every now and then. Sometimes it’s hard enough to rattle the plumbing in sector seven.”
“It’s moving?! Can’t you get in there and see what’s going on?”
“Nope. Sealed up tight. Maintenance did run sonar, though. Take a look at this.”
I held up the printout he handed me. “What the hell is that?”
He sat back again and shrugged. “Beats the shit out of me.”
I rotated it this way and that. It didn’t help. “It looks kind of like a cross between a gray alien and a manatee.” I squinted at it again. “This is what’s thumping on the walls in there?”
“So Maintenance says.”
“And … what? You’re just going to leave it in there?”
“Not much we can do about it without knocking down the walls,” he pointed out. “And Maintenance says it’s not going to cause any major problems, and it’ll come out when it’s ready.”
“Yeah, they keep telling us everything’s fine, too.” We exchanged glances, and I said, “I’m not sure I trust Maintenance these days.” I rattled the printout. “Can I take this upstairs?”
He grinned. “Better you than me.” I picked up my coffee cup and slid off the desk. He nodded at the mug. “I thought the boss hated coffee.”
“Yeah, well, I don’t let her catch me drinking it.” I gave him a tired grin of my own. “Thanks, Joe. Um… let me know if that thing starts to cause trouble.”
“Oh, he drawled. “Believe me, if it starts causing trouble, you’ll know about it.”
Plugin updates galore: HTML Import 2, Content Audit, Dashboard Notepad, and bonus! LiveJournal Crossposter
I have been a coding fool this week.
The big news is that I’m now working on the LiveJournal Crossposter. If you use it, you’ve probably been pulling your hair out all week because it stops WordPress in its tracks when LJ is down. I’ve fixed it so it just shows you an error under the “Post published/updated” message instead. I had been tinkering with it for my own use anyway, adding support for userpics, fixing a problem with [gallery] tags posting the wrong images, and making it use a proper meta box (which means it now behaves like all the other boxes on the Edit Post screen; you can collapse it or move it around or turn it off entirely in Screen Options).
Since LJ was hosed, I decided to go ahead and release my version, and it’s now up on the Google Code site. I’m still waiting on the old developers to authorize me on Extend, which will let me update the plugin there and show everybody a nice auto-upgrade notice. (ETA 7/30/11: It’s there!) In the meantime, if you don’t mind uploading plugins by hand, you can upgrade now. (Note that old versions were inconsistent about directory and file names. This one is lj-xp. If your plugin directory was called ljxp or lj-crosspost, you should either remove that or, if you upload this one alongside the old one, deactivate your old version before activating this one.)
I’ve cleaned out the issue tracker, so if you have problems with the new 2.1 version, you can post them there. The error thing is still pretty hinky — WordPress doesn’t have a very good built-in way to show custom errors, if you can believe that! — but I’m working on it.
(I know: LJ is back up now. I really wanted to update the existing version rather than posting a copy in yet another location, and it took a while to get my version ready and contact the old developers, who’ve long since abandoned the project. However, we’re in touch now, and it’ll all be much better the next time Russia decides to play DDoS games with its primary blogging service.)
On Saturday, I released HTML Import 2, as promised. (Actually a little ahead of schedule, so the WordCamp Boston folks could grab it.) This is the big update that imports images along with the HTML files, uses index.html (or some other specified default file) for parent page content, supports custom post types, fixes problems with special characters, and bunches of other stuff. It also has a spiffy new user guide.
Content Audit also got a big update. There was a compatibility problem with WordPress 3.2, which is now fixed. People had requested that authors not be able to audit their own posts, so I’ve added that feature. There were some big problems with auditing media files and with scheduling email notifications, all of which have been taken care of.
There was an issue with roles and permissions in Dashboard Notepad, so that’s been updated.
As I was digging through old code, I discovered that Assign Missing Categories and Mass Format Conversion both had some outdated stuff, and neither had ever been localized, so I took care of that.
Private Suite is somewhat outdated now that 3.2 includes some fixes for displaying private pages, so that’s up next.
Q: Beginning WordPress 3 was written for 3.0. Does that mean it’s outdated?
A: Nope! The book is not very outdated at all, which is why we haven’t done a new edition. I got lucky, and both 3.1 and 3.2 were relatively minor releases. I’ve just updated the Updates and Errata page for the book to include a quick rundown of what’s changed since 3.0. If you haven’t gotten a copy yet, you totally should!




