While you're just screwing around, it's easy to package a Movable Type plugin by zipping up the directory. However, as you write more advanced plugins with more moving parts, you'll start to have supporting files in your work directory. Hopefully you'll also use a revision control system like Subversion, which may leave files in your directory that you don't want to package up. (I learned this the hard way.)
While you don't need the buffness of the full CPAN packaging chain, you can use
ExtUtils::MakeMaker to produce a Makefile that will package your plugin without all the junk. There are a few easy steps:
- Write a
- Create a
MANIFEST, either manually or automatically with
- Whenever you need a package,
make zipdist. Tada!
The first thing you do is write a
Makefile.PL script. Here's the MakeMaker tutorial, which shows the smallest possible
Makefile.PL. There are many more options to
VERSION_FROM, but the vast majority are for building binary modules. One you'll probably use is
DISTNAME, which is the stem of the filenames
make will give your archives; otherwise your packages will use the CPAN convention of mimicking your primary module name, which is unlikely for an MT plugin.
Makefile.PL should look something like this:
use ExtUtils::MakeMaker; WriteMakefile( NAME => 'MT::Plugin::OpenIDComment', VERSION_FROM => 'plugins/openid-comment/openid-comment.pl', DISTNAME => 'openid-comment', );
(Note that you'll need to define a
$VERSION variable in the file you specify in
VERSION_FROM, but you already do that, don't you?)
Running the script with
perl Makefile.PL will build you a regular
Makefile for use with
make. Next you'll write a
MANIFEST file to tell
make what to package. (The
ExtUtils::MakeMaker to read the manifest when you run
make.) The manifest is a simple text file listing all the files to package, as shown in the tutorial, so it's easy to write a
MANIFEST for small plugins.
However, to always catch new files you add, you can automate the process by using
make manifest and a
MANIFEST.SKIP file. This is another simple text file, but instead of names of files to include in the package, it contains regular expressions of the files not to include. By default
make will skip "things like version control directories and backup files." Because we're building an MT plugin instead of a CPAN module, you don't need to package all the packaging system files, so there are other files you could remove. Try this for a
# version control \bCVS (^|/)\. # CPAN chain files ^MANIFEST ^Makefile ^META.yml$ ^blib/ # packages \.zip$ \.tar\.gz$</code></p></div>
MANIFEST.SKIP in place, you can type
make manifest to build a
MANIFEST file containing all the files in your working directory that don't match one of those expressions.
So with all this configured, whenever you need to package a new version, type:
and bamf, there's a zip file named
your-project-1.0.zip, ready to upload! You can use regular
make dist to make a tarball instead, if that's your flavor.
CPAN is still the premiere internet module distribution system for open source languages. Years of experience are built into its powerful tools for packaging and distributing Perl code.
ExtUtils::MakeMaker is one tool you can use to make your own project management easier on plugins.
Elise Bauer's Learning Movable Type has helped countless people understand the intricacies and harness the power of Movable Type and we thought it was worth pointing out two essays recently published there.
The first, written Neil Turner (who just celebrated his three year anniversary using Movable Type), is entitled "Making the Most of SpamLookup" and is essentially the "missing manual" of the number one spam-fighting plugin now bundled with Movable Type 3.2. We'll be publishing our own docs on the plugin soon, but in the meantime it's one of the best resources for understanding how it works beyond just "perfectly"!
The second, "Understanding the Category Listing Code", was cowritten by Elise and award-winning plugin developer and MT consultant Chad Everett. This tutorial does a great job of showing you practical uses of category and subcategory tags that you can use right now by just dropping the template code into your templates.
We're always terribly excited when our users not only understand the power of Movable Type but also have the willingness and take the time to share their knowledge. Spend a day clicking through their sites and you'll undoubtedly learn a lot you may not already know. Thanks to all of you!
Courtesy of our own Heiko Hebig in Germany comes another good example of the international reach of the talented Movable Type community. First up is Jörg Petermann, who runs einfach-persoenlich.de. Famed for work such as his Movable Type cheat-sheet, it's a must-read for the latest news and updates.
Another popular site among Professional Network members in Germany is Manuela Hoffman's Pixelgraphix. In addition to its beautiful design, it's a first class resource for German speakers who want to keep up to date.
We pride ourselves on having people from dozens of countries participate in our Professional Network community; If you'd like to join, you can sign up now.
XML.com has published a pair of interesting new articles building on top of the IETF Atom standard. The first, Dreaming of an Atom Store, features Joe Gregorio describing what an ideal integration of the Atom Publishing Protocol and Amazon/A9's OpenSearch spec would look like. It's a compelling vision, and one that we'll be watching closely in the future for our own platforms.
Complementing this work is Uche Ogbuji's Processing Atom 1.0, a great primer for Python fans who want to consume the format that's output by all our platforms, as well as the Six Apart Update Stream.
This past weekend, folks from Six Apart represented over at webzine 2005. Ben and I were disappointed because we couldn't attend the event (we were on the East Coast doing family stuff), but were thrilled to see how great the turnout was -- both in the sense of attendees and people from the company. Jay Allen did a presentation about Six Apart's offerings (he writes about it here), Brad was on a panel and sat on a throne and the rest of the team manned the Six Apart table.
If you were there, I hope you had a chance to talk to members of our teams -- folks who work on LiveJournal, TypePad and Movable Type were all there answering questions and meeting with our community of users.
Thanks especially to Krissy for spearheading our participation at the event!
Last night we got back from DEMO Fall 2005 where we introduced âProject Comet,â our code name for the technologies weâre building to be the next generation of weblogging offerings from Six Apart. Apart from the excitement of finally introducing and announcing something weâve been working on for over a year, I had the opportunity to demonstrate onstage with not only my husband, but my mother as well.
The premise for my momâs appearance was this: People are always saying that they want to make a product thatâs âeasy enough for their mom to use.â Well, we want to do something more. My mom knows how to use a computer so itâs not just about ease of use: I want to make a product that my mom actually wants to use.
Here's my introduction to our demo:
I have a question for you all. Why do we think moms are so stupid? I ask this because of that âItâs easy enough for my mom to useâ line thatâs always thrown around. Iâm Mena Trott and this is my husband Ben Trott and weâre the cofounders of Six Apart. We make weblogging software and we donât think moms are stupid. We think we just havenât made the product that they want to use.
When I say âmomâ -- a grey-haired older woman sitting by her computer, unsure about where sheâs supposed to click or even if the computer has been turned on. Well, the fact is I was born the same year that the Apple II was released and my mom knows how to use a computer. So when I say I want to make a product -- or in our case, a blogging service -- that's easy enough for my mom to use, I'm really saying that I want to make a blogging service that my mom *wants* to use. More specifically, I want to make a product that this woman wants to use.
So then I brought out my mother and I began asking her why she didnât have the motivation to maintain her own blog. Her three major reasons?
- She feels like she doesn't have anything to say.
- She doesnât want the world to see what she writes.
- She doesnât have the time to keep up with blogs.
We went through all her concerns and showed how âCometâ addresses them. First, she does have things to say â she emails me and calls me constantly. If she was just to write about the family, sheâd have more than enough content. But if she was to write about the family, sheâd feel uncomfortable about anyone being able to read it. Therefore, weâve provided privacy options that let only certain groups read your content. Not only that, but we provide views from the groups she has set up in dynamically driven pages that can be organized by keywords and topics. And finally, weâve built in aggregation in both the application and the âpublishedâ pages.
Weâve taken the stuff weâve learned from the community features of LiveJournal and mixed them with the publishing features of Movable Type and TypePad. And weâve made it extremely media-rich. Adding photos, audio, books and music reviews, etc... is as easy as dragging and dropping files into your posting screen.
Anyway, thereâs a lot going on with Comet and we canât wait to get people using it. Weâll be talking more about it in more detail very soon.
But back to my mom.
She flew out from North Carolina to take part in the demo and she did a wonderful job. She did so well that she won a DEMOgod award! It was so great to see her go up onstage to accept her award. All of us from Six Apart who were down at Demo couldnât have been more pleased.
The best part was spending a day and a half with her hanging out with people from work and seeing first hand what a conference is like for us -- she took part in rehearsals and went to meals with us. And since there isnât that huge of an age difference between her (sheâs 48) and some folks from Six Apart, it was easy to joke around and have her be part of the group.
My mom is the best mom in the world and she definitely deserved to be a DEMOgod!
Tagalag is a clever new service that lets you easiliy and securely assign tags to email addresses. And if yours is the email address that's tagged, you can claim your address and edit the tags that have been assigned.
We're especially happy to see that you can login with TypeKey to get started with the service, meaning you don't have to create another login just to try it out.
Though they're best known for their television coverage, the correspondents at ABC News are making good use of the web in their new collection of blogs. Powered by TypePad, the blogs give correspondents like Jake Tapper, Ned Potter, and Manny Medrano the opportunity to update on a more frequent schedule than TV allows, while also getting feedback from their community in the form of comments and TrackBacks.
I've been reading Signal vs. Noise, the weblog from 37Signals, for quite some time and consider the work that they do quite inspirational. One of the best company weblogs out there, Signal vs. Noise covers a variety of topics ranging from usability and design to company culture.
An underlying theme over at Signal vs. Noise is the concept that smaller is better -- smaller in terms of start-up capital, company size, development teams and even hardware. As part of a two-person team that created the initial versions of Movable Type and TypePad, I certainly understand the logic in encouraging small and nimble teams. The eighteen months that Ben and I spent in our spare bedroom coding was probably our most productive for bare-bones software development. Of course, during this same time, we were afforded the luxury of not having to do anything much more than coding and designing -- our project management was done via (what felt like) telepathy.
A long time ago (well, maybe not that long ago -- it just feels like it), Ben and I were at a fork in the road where we had to decide whether we wanted a small, niche company that would serve as a nice lifestyle business or try to be something bigger and take a gamble that Six Apart could make a serious impact on blogging. (A "lifestyle business" is one of those terms that money/funding people use to describe someone who can make a nice lifestyle for themselves with their company, but doesn't really make jobs or opportunities for a lot of other people.)
So here we are -- a big, small company or a small, big company. I've been on both sides of the table and have to say that it's pretty nice where we are. And since the "small is better" argument is very often offered in both elegant (Signal vs. Noise) and ignorant (Generic "Being Corporate Sux!!") ways, I thought I might contribute my reasons to why bigger can be better.
1. More people, different view points. We've got a lot of different people from different backgrounds. When something didn't work at a previous company or project, we can learn from their experience. When problems arise (especially in programming), there are more minds to tackle the issues -- and from different angles. Tunnel vision is less likely to happen when new eyes view a product specification or wireframe.
2. Accountability. If you're in the business of storing people's memories and writings, it's kind of nice to be able to say you have a viable (and visible) business plan. We took funding because we needed the resources to grow to the level where we could feel comfortable taking on a large customer base. Running a business shouldn't be indie rock. Like it or not, your customers like to be protected with mundane things like Terms of Service and Privacy Policies. And if someone's going to trust us with their baby pictures or the blog they're using to promote their business, they want to know we'll be around even when the novelty wears off.
3a. Creating jobs for many people. I tend to hope that people at Six Apart like what they're doing. And, we try to give them a good place to work where they can make software that they believe in. And, they get paid. Someone in our company noted that they have never been at a company where the engineering teams got along so well, so respectfully. That's a huge thing in our book.
3b. It's nice not to always have to bootstrap. It's great to have a nice office sign. It's even better to have a nice office (with all sorts of perks) . While it's important not to repeat the sort of big money spending that doomed so many 90s dotcoms, there is something to be said for not having to make your employees sleep in your guest bedroom/office.
4. The ability to shift roles. If someone doesn't fit the role they are in, there's a very good chance that they can do something else better within the company. A number of people have been able to move into a different position (and even department!) months after their initial hiring. A larger team allows this flexibility.
5. Sticking to what we're good at. Even after our initial funding, Ben used to do all of our accounting and administration and, up until early 2003, I did things ranging from manually creating and sending out Movable Type "Recently Updated Keys" to reviewing contracts and spending hours on the phone with our lawyers. Being a 2-person or 5-person start-up is harder when you're balancing your own workload and the workload of another profession that you're not experienced in.
6. It isn't just an American thing. We accepted our first round of funding from a Japanese firm because we believe that weblogging isn't just an American activity. And, because we are in different markets and on different continents, it's incredibly important that our customers are given local attention. Take our subsidiaries in Japan and Europe, for example: Something as simple as having someone to call who speaks your language is a *huge* reason to want to be a Six Apart customer.
7. Creating products that really make an impact. It's back to our original reason for taking funding. All the press we receive is fine and we appreciate it, for the most part, because it increases the value of the company. But the best part of it all? To learn that my eighty-four year-old grandfather finally understands what we do for a living and to have him say something like "that blogging thing is changing the world."
It may sound corny, but it matters to us to do justice to the medium that's given us so much. Next month is the four year anniversary of the first Movable Type release. Four years. This is something we've cared about for quite a while and we like to think Six Apart is the company of the bloggers, by the bloggers, and for the bloggers. That's a big commitment, and a big responsibility. So we've tried to make sure we're just big enough to tackle an opportunity of this size.
As will undoubtedly make the rounds everywhere in the blogosphere today, Google has just launched Google Blog Search. Google's perhaps the single company most identitied with search, so their entrance into the blog search space is a big milestone even though the idea of blog search has been around for years.
For the basics of what the Blog Search team has done, you can take a look at the Frequently-Asked Questions list which does a good job of covering the basics. But at a time when everyone will be talking about (and hopefully thinking about) blog search again, it makes sense to review where we've been so far, and what problems need to be solved in the realm of blog search.
Our Japanese Six Apart team has released Movable Type 3.2 Beta. Featuring all the improvements and new capabilities in Movable Type 3.2, this version is completely localized in Japanese and supports all of the plugin functionality and templating options of the U.S. version that was released a few weeks ago.
At Blogher, I had the opportunity to be interviewed by John Furrier about women in technology and what we're doing at Six Apart.
Now, I'm all for podcasting, but if the rise in popularity means I have more chances to hear myself speak online, I'm afraid for the future. :) As I tend to do when I'm nervous, I ramble on a bit and don't articulate well my intended message. However, I don't say anything insane like "women are bad at math" so I'm pleased.
Some points that I do want to articulate better here:
At one point I talk about male-dominated fields like engineering versus more female-dominated fields like design and marketing. I don't make the point well at all, but I'm trying to say that it's an arbitrary societal construct that engineering is more valued than something like marketing or design. Personally, I think that the ability to communicate and understand the way people think about products is something that is incredibly difficult to learn. Likewise with design.
The second point comes later on in the podcast. I'm talking about teenage girls and technology. What I wanted to say is that with the rise of online social networking services that place a high value on posting revealing photos and being a bit trampy, it's so crucial for older, more establish women, to set a good example for these girls. Teenagers are curious about sex -- that's a given. But at the same time, as software developers, we need to create the sort of services that encourage teenagers (boys and girls) to be creative and not fall into typical roles.
There's so much we can do to encourage women to enter technology and I think it's incredibly important that the women out there set examples of what can be done. But at the same time, it's not just a women in technology problem. I think all young women need to learn that ambition is a good thing and not to be afraid to challenge all situations.
Over on the Professional Network members blog, we've been regularly posting even more job listings for people with experience on Six Apart platforms, especially Movable Type. In the past week alone, there's almost a dozen new listings, and of course we regularly post job requests on the member mailing list as well.
If you're not already a Professional Network member, and you've got blog skills that you'd like to take advantage of to help build your business or just to make some extra money, you'll want to sign up or find out more about membership. Recent job listings have been requesting skills ranging from experience writing blogs to design and implementation to technical development and management, so ProNet job listings should have something of interest to almost anyone.
Greg Reinacker of NewsGator has as smart post about security in XML feeds where he makes a strong argument for reusing prior art:
My advice for now? Don't worry about it. RSS today is transported via HTTP. Sure, you could use other protocols - but almost no one does. This same argument came up some time ago about SOAP web services...a lot of work went into making sure everything was portable enough to deliver SOAP messages through any arbitrary transport. But in real life? Almost no one is doing it.
We don't need more protocols. We don't need yet another encryption standard. We don't need yet another authentication mechanism. Use what works today - it's proven itself already.
It's a compelling argument, and one that offers an interesting perspective alongside announcements such as Reactivity's partnership with SimpleFeed on feed security. Both scenarios are important to keep in mind for a variety of future needs that bloggers will face, including the increasingly popular practice of republishing feeds without permission, especially by link spammers.
Vauhini Vara of the Wall Street Journal has published a look at all the new blog search engines that have popped up in recent years, including Technorati, Feedster, IceRocket, DayPop, BlogPulse, Bloglines, and stalwarts such as Google, MSN, and Yahoo.
The challenge facing a lot of these search engines is outlined in the article:
The new services, some of which are less than a year old, aren't without their glitches. The technology is still evolving and companies are still looking for the best way to track and sort blogs. Some services miss large numbers of blogs, while others pull up irrelevant sites.
The Technorati team has launched Blog Finder, a new service for discovering the blogs around specific topics. Grouped by tags, blogs can be discovered by the service if they've followed the provided instructions on how to describe a site.
The service hasn't been out long, but it's already inspired some detailed analysis from the user community, which should help refine and improve Blog Finder in the future.
I just love that Ben's finally posting to his weblog. He followed my lead and posted a graph of his own frequency of posts. As you can see, he's blogged more in the past two months than the previous 3 years combined.
So if you like posts about programming, reality television and music, Ben's got a blog for you.
The New York Times ran a story on Monday about a collection of American color photographs from 1939-1943 that's on display starting Thursday at the Library of Congress.
When I was actively posting to dollarshort.org, the Library of Congress website was a rich resource for links and inspiration for my posts. Being a history buff, I especially appreciated the opportunity to view photos of ordinary people in ordinary situations.
The online exhibit of photographs is a great way to spend some web browsing time. My favorite photo is this one of Polish and Italian school children. My grandmother is Italian and my grandfather is Polish and they could easily look like any of these children if we had color photographs of them.
To compare the difference between a color photo and a black & white one and its impact in making someone seem "real" rather than just an old person in an old photo, compare these two photos of the same subject:
So what does this have to do with anything that would appear in Mena's Corner? Nothing more than the fact that these photographs are online makes me happy that we have the Internet. And, I hope that what we're doing here helps keep digital memories easier to create.
The 2005 Black Weblog Awards has just posted its list of winners, with Blog of the Year going to Daily Views, Pop Culture, Rants and News and the achievement award going to George Kelly of All About George and Negrophile, both powered by Movable Type. Congratulations to all of the nominees and winners.
We've all been making a greater effort to post more frequently to the various weblog here on the Six Apart corporate site. We've had a busy couple months and I'm glad to say that I've gotten back to a somewhat regular schedule. Last week I took the post counts from the sixapart.com weblogs for the past year and plotted them on a graph to chart the posting frequency.
The biggest consistency is that our Professional Network weblog has been the most active since January and carried the rest of us during most of the year. The last two months have been more active than usual because of our beta blog for Movable Type 3.2 and my blog right here that increased from 1 post in July to 14 in August. I hope to double that this month.
The nice thing about creating this graph is that it helps us actually visualize the increase. Our readers have been sending us a lot of positive encouragement about keeping up the posting and we're definitely seeing the rewards.
August was another busy month here at Six Apart – with three straight weeks in a row of product releases. We began the month with our first ever Scratch-a-thon, finished up with the launch of Movable Type 3.2, and in between released a number of feature enhancements to both LiveJournal and TypePad. So, in case you missed some of the details in the flurry of activity – here is the complete round-up.
LiveJournal – 8 million and counting!
LiveJournal hit a landmark this month - 8 million subscribers - and celebrated with a commemorative Frank mosaic poster incorporating over 2400 user pics. Congrats to the LJ team and a special thanks to Andy for the great artwork! The team has also launched a new "LJ spotlight" community highlighting the interesting way people are using LiveJournal. There were also additional enhancements to the service, including an easy new way to invite a friend to join LJ, and the availability of up to 100 userpics for paid accounts.
Movable Type 3.2 is here
On August 25th we released Movable Type 3.2 to a great initial response, and interest has been building ever since. This latest version improves on what you have come to expect from the professional blogging platform: flexibility, customization, support and spam and comment control. But you don’t have to take our word for it. Mena’s collected some great early responses on Mena’s Corner. The upgrade is painless and free for all licensed owners of Movable Type and we are offering $30 off for our Personal Edition, which now includes unlimited blogs. We’d also like to take this opportunity to say thanks to our incredible Beta testers for their enthusiasm and passion.
This month also brought a number of new enhancements, including full Podcasting support, and easier ways to add new content to sidebars – such as xml feeds and individual photo albums. On the design front, we launched custom CSS so all the TypePad pros can now take advantage of all our features without having to migrate to advanced templates. If you are a TypePad fan and are have been wondering who the team is that makes it all happen – we posted a series of interviews with the engineers over on Everything TypePad and asked them to introduce some of the features they developed and why.
Finally, our hearts go out to everyone impacted by Katrina. The LJ community has done an amazing job of harnessing support for fellow Journalers who have been affected by the hurricane. It is truly impressive. Big thanks to all of the LJ subscribers for opening your hearts and even your homes to those in need. We are also proud to report that many TypePad and Movable Type blogs are encouraging donations and listing resources – too many to even mention. For those of you who wish to add a Hurricane Relief badge to your weblogs, we created a badge to help you in your donation efforts.
Of course, there are many ways for you to donate directly as well.
Wishing everyone a safe and happy Labor Day weekend.
It's been a week since we released Movable Type 3.2 and if you haven't yet checked out the new version, you should do so now. For those of you who may still be on a 2.x version and were reluctant to upgrade because of the past weblog limitations, remember that all versions (including free) now have unlimited weblogs.
I'm obviously biased, but like I said in an earlier post, it's really an awesome release. It's hard to articulate the feeling I have about it. Ben and I are obviously MT's parents but it's like we sent our baby to school and trusted a group of people (teachers, peers and friends) to bring her to the next level in life. I know it's just software, but Movable Type is so much more to me. And it feels good to see it being taken care of so well.
And, it's wonderful to see what our users have to say about the new version:
My favorite features so far is about the weblog management. I see more ‘shortcuts’ here. If in the previous release I had to take 3 steps, I can only use a single step.
Don’t let the incremental version number fool you. I’m thinking this upgrade may be as huge as the move from 2.6 to 3.0 was. The polished admin interface is the most obvious change. To take advantage of many of the most powerful new features, though, I will have to spend some time tweaking my templates.
Movable Type 3.2 raises the bar in web application design. Some of these features will influence the way other web applications are built for the next couple of years. The easy upgrade installation, the powerful list views, the searchable admin interface, the new comment management system, the interaction between background activity and the user interface. We will expect all web apps to work this way going forward.
From Vertical Hold:
The whole package has a professional polish that has seen many refinements since the 2.x days and it definitely go better in this release. The list of new features is too long to detail here, but I will talk about one area: rebuilding. It’s fast. I don’t know what was slowing me down before, but it made me avoid rebuilding individual archives completely. I don’t have any real numbers but it seems to be an order of magnitude faster on rebuilds.