Mephisto

Mephisto

Installing Mephisto

October 25th, 2009 by admin

Downloading Mephisto

There are two main ways to download Mephisto: either download the latest release as a tar.gz file, or grabbing a version from Subversion. The Download page has more info on the various versions available in subversion.

Next, you have to make sure your host is setup to run rails apps. This varies from host to host, so I’ll leave this step up to you. The only gem that Mephisto needs is tzinfo (which is included with the tar.gz download). If you don’t have this, read Installing Mephisto Without Required Gems. Mephisto will use RMagick for asset thumbnails if it is available, but will function just fine without it.
Quick Installation

1. Create a database named mephisto (or one of your choosing).
2. Copy config/database.example.yml to config/database.yml
3. Edit database.yml and set your database credentials.
4. Upload the entire mephisto directory to your webserver.
5. Make sure you upload the tzinfo gem (see above) with the directory, or that your host has it preinstalled.
6. Run rake db:bootstrap from a terminal of some sorts (use rake db:bootstrap RAILS_ENV=production to be sure you’ve bootstrapped the production database.)
7. Login to your administration at http://domain.com/admin with the username: admin and password: test

The actual web server installation varies from host to host. Mephisto should install like any other Rails app, however. The wiki has some directions for specific hosts.
Upgrading (with a downloaded copy)

When upgrading, it’s usually best to install the new copy of Mephisto in a completely separate directory. This way if something happens to go wrong, you can restore the database and point the web server to the old directory to continue using the older version.

1. Download Mephisto into a separate directory
2. Copy config/database.yml, public/assets, and /themes to the new installation. Also be sure to copy any other customized files you may have (such as config/environment.rb possibly).
3. Backup your database just in case.
4. Run rake db:migrate RAILS_ENV=production to make any necessary changes to the database. This will affect your current site’s database, so either take it offline, or perform this step on a secondary database.
5. Reconfigure your web server to point to the new application.

Upgrading (with a subversion working copy)

1. Update from the latest svn
2. Backup your database just in case.
3. Run rake db:migrate RAILS_ENV=production to make any necessary changes to the database. This will affect your current site’s database, so either take it offline, or perform this step on a secondary database.
4. Restart Mephisto and your web server if needed.

Posted in Mephisto Setup | No Comments »

Mephisto Immortus Released

August 30th, 2009 by admin

Here it is, the release that we’ve been working hard to get pushed. Immortus is a huge improvement over the 0.5 release. We’ve finally got a really solid system with some of the most intuitive features you’ll ever use in a publishing system. Here is an overview of Immortus’ feature-set:

Asset Management Including ‘Buckets’

We’d like to think that our asset management system is probably the best you’ll find in any CMS/Blogging application. No, we didn’t pack it with every feature you could possibly handle, we packed it with the features you need and integrated seamlessly into the publishing workflow.

We’ve got Buckets. What are Buckets you ask? Well, it’s a temporary place you can toss some assets while browsing in the asset manager. Lets say you wanted to go back through all the logos you’ve ever done and write an article on those. Maybe you also wanted to include some website screenshots too to show how awesome you really are? Well the bucket is perfect for this. Just go through your assets and click the

 

little green check to have it instantly show up in your bucket. When your done collecting the assets you think you want to publish with, head over to the new article page and the files that you just added to your bucket are right there waiting for you!

Find information fast

Sometimes it’s not the flashy features that tend to help the most, it’s the really subtle ones. We’ve tried to make it as easy as possible to help find the stuff you need in Mephisto by adding filtering wherever possible. You can filter articles by sections, tags and searches on the title and body. The asset manager also gets it’s own unique filtering capabilities.

Easier to convert from other Blogging/CMS Systems

Rick has spent a lot of time getting our conversion scripts beefed up and making sure they are properly working. We now have converters for WordPress, Typo, and Textpattern. We want to make it as easy as possible for you to start using Mephisto and to also bring your old data with you.

We challenge users of other blogging/cms systems to take Mephisto for a spin. It only takes a few minutes to get it setup on your local machine so you can play around with it. We’re confident that you’ll think Mephisto rocks 6 different kinds of ass and you just may decide to ditch your current system.

Wait, there’s more!

There is so much more in Mephisto that I haven’t talked about. This is stuff you really need to experience for yourself. Get rocking and let us know how it goes!

Our plans for the next version

We improved the theme system a lot for 0.6. We moved all theme related stuff to the file system so you no longer have to upload every image you use in your theme through the admin. However, for the 0.7 release of Mephisto we really want to concentrate on greatly improving the theme system. It’s in pretty good shape right now, but it has experienced some growing pains. We have plans to work on Liquid includes, real theme management, integrated tag help system, easy importing, and anything else we think needs improving.

Well, I’ve rambled enough, grab the 0.6 Immortus release here: : Download Mephisto 0.6 Immortus

Posted in Releases | No Comments »

New Asset thumbnailing options available

August 25th, 2009 by admin

I just committed a change to Mephisto that makes Image Science the new default thumbnailer, instead of RMagick. What is Image Science?

ImageScience is a clean and happy Ruby library that generates thumbnails—and kicks the living crap out of RMagick. Oh, and it doesn’t leak memory like a sieve. :)

All I used RMagick for was thumbnailing. It seemed to wreak havoc with your memory, especially on shared hosts, so I commonly recommended disabling RMagick. In a few local tests, I watched the memory jump up to about 90MB from uploading < 1MB of images with RMagick. Yikes. ImageScience tears through them without much of a blip in memory usage.

Course, since no ruby host has ImageScience and FreeImage installed probably, you probably won’t see any benefits. Don’t worry, it should drop back to RMagick if it’s not installed, and should skip thumbnailing altogether if RMagick isn’t installed. You can customize this in environment.rb now too: ASSET_IMAGE_PROCESSOR = :image_science || :rmagick || :none (Only add :image_science, :rmagick, or :none).

Let me know how it works out. Also, I’d try hitting up your hosts and seeing if they’re up for installing FreeImage and ImageScience. I hope so, this covers probably the majority of RMagick usage, which is widely known to cause problems on shared hosts.

Posted in Mephisto | No Comments »

Assets: Coming Soon to a Mephisto Near You

August 14th, 2009 by admin

We’ve been hard at work implementing some of the remaining high-priority features in Mephisto. The most notable missing feature is Asset/File management. Well, we’ve started hammering away at getting this implemented the past couple of days and have the basics of it working, with that said, it’s no where near finished.

Update: Major progress has been made in the trunk, check it out!

From the screenshot you can see we’re gonna be sporting an OS X style search feature. Also, the last 5 or so images you upload will be shown on the new article page allowing you to quickly have access to these files.

When we were discussing how we wanted to implement assets, I didn’t want to implement it like other systems have: Files are attached to articles. There really isn’t any benefit of having a file belong to an article. If you want to use a file system wide, why shouldn’t you be able too? Of course, other systems never prevented you from direct-linking these files (I suppose), but that defeats the purpose of attaching files to articles. Files belong to a site, they are merely used in articles or the design.

I would speculate the only reason files have always been attached to articles is because you can upload files directly from the same interface from which you create the article. I guess it only seemed right that the files belonged to that article. Not true–this is just the most natural process for publishers working with assets. You don’t want to have to leave the article page to go to some separate assets area just to upload an image.

Although you can’t see it in the screenshot above, we plan on also having an upload form on the new article page that allows you to do just this. But what if you like to prepare before you write? Lets say you would rather upload your assets from the separate assets area. It wouldn’t be all that intuitive if you couldn’t access those images you just uploaded from the interface which you write your article. Having the assets area open in one tab while having the article form open in the other tab is far from ideal. We’re gonna solve this problem by showing the last few files you just uploaded on the new article interface so you can quickly access these images.

It can be assumed that if you just uploaded a few files, you plan on using them. But, what if you don’t? What if you’ve uploaded a bunch of files, and the files you want to use in your new article are a month old? Well, we’re gonna solve that problem too. We’re also planning on implementing a search interface in the new articles area so you can quickly find the files you’ve lost long ago. I also have another really cool idea on how to handle these situations too that I’ll talk about more once I get the details hammered out.

Your probably wondering with all this stuff going on the new/edit article interface, won’t it be cluttered? Well, it sure sounds like it could be, but I’ve thought about this one myself and have come up with a fairly simple solution. Tabs. Simple, effective, and it works well.

With all that said, it should be noted that none of this is complete and the SVN trunk is under heavy development. You will run into bugs under Mephisto edge. It’s only recommended you run edge if you’re wanting to help bug hunt, you’re really brave, or you don’t mind the occasional hiccup.

Posted in Changes | No Comments »

New Site Liquid Drop added

August 7th, 2009 by admin

I’m starting this section on the Mephisto site to talk about breaking changes as I develop. There are certain things (regarding the liquid templates especially) that are rapidly changing. The first big change is the loss of the sections variable.

Until now, you could use {% for section in sections.list %} to enumerate through the sections. I’ve started converting everything to LiquidDrops and decided to create a ‘site’ drop instead. Change the above to {% for section in site.sections %}. There are a few odd cases that I’ve added:

* {% for section in site.blog_sections %} lists only blog sections.
* {% for section in site.page_sections %} lists only paged sections.

(Each article is a liquid drop too and now has the same methods)

If you want to do something else like, list all but home sections, this is how we’re doing it now:

{% for section in site.sections %}
  {% if section.path != 'home' %}
    <li><a href="{{ section.url }}">{{ section.name }}</a></li>
  {% endif %}
{% endfor %}

I’m still experimenting and looking for the best option. Let me know if you have suggestions.

What is a Liquid Drop?

Here’s a quick Liquid Drop crash course. By default, it lets you set up variables used in the templates as hashes. When you do {{ article.title }}, it converts that to article[‘title’] basically. Sometimes though, you don’t want to preload everything. If selecting an article always selected the comments and sections every time, the site could get pretty slow.

So, here come Liquid Drops. They are basically a blank slate liquid variable. It can wrap around a liquid variable’s existing keys, and provide custom methods that load data. Something like {{ site.sections }} will now load all the sections the first time they’re accessed.

This gives us the possibility of performing some custom operations in the future, like {{ site.find_section(‘foo’).articles }}. This also lets someone make a Flickr plugin, for instance, with: {% for image in flickr.recent_images %}. Wouldn’t that be cool?

Posted in Changes | No Comments »

Mephisto hits 0.8, moves to GitHub

April 18th, 2009 by admin

Mephisto 0.8, “Drax”, is out, and the source is now hosted at our friends, Github.

There are many fixes, rewrites and improvements in the codebase, and development is actively continuing! Rather than talk about what’s new, I’m going to gush about git. We’ll cover what’s new in a future post.

Git, and github, allow for truly distributed development, and is a big deal for Mephisto development – as you can see in this graph of activity:

You can download release 0.8 from tarball or git checkout, or live on the edge.

The best thing about using Github is that you can easily fork Mephisto for yourself, or see what other people are working on and help them out. The idea of an ‘official’ repository becomes murky; the canonical repository in distributed source control is more of a convention.

Posted in Mephisto | No Comments »

Download Mephisto

April 8th, 2009 by admin

Older releases

Mephisto Edge

If you’d like to get the bleeding-edge Mephisto you can use git and checkout the source with the following commands. You must freeze Rails to 2.0.2.

Using git

Mephisto is stored in git, a version control repository. Git is free, and works on about every OS. You can view the repository on the web at GitHub.

  • Master is the absolute latest version of Mephisto. This is where the latest experimental features for the next major version live. The git url is: git://github.com/technoweenie/mephisto.git
  • Tags are a snapshot in time of the Mephisto trunk. Everytime I make a release, I tag it so that exact release is always readily available. Using this is the same as using one of the tar.gz files. Tags are available for 0.8 and above; please see the GitHub site for the URLs.
  • Each major release has a branch to accompany it. Every major release gets a its own branch. As bugs are found and fixed, they will be applied to the branch. No new features are added, generally. To get the 0.8 branch, first clone from the edge url and git checkout rel-0.8

Personally, I would suggest keeping your Mephisto installation frozen to a stable branch. You can rest assured that there won’t be any updates beyond tweaks and bug fixes. If you’re a little braver, freezing to trunk is a good idea. Major breaking changes aren’t the norm, so it shouldn’t be a big hassle to use. You will occasionally get bugs and have to deal with broken or unimplemented features though.

If you want to make local changes to Mephisto, but keep up to date on the app, it’s easily done with git. You just commit and it’s done! You can then pull from the github repository to keep up to date with more changes.

Posted in Download | No Comments »

New Contact Feedback Plugin

March 29th, 2009 by admin

James Crisp wrote a nifty Contact Feedback plugin for Mephisto for the new Thoughtworks Studios site. The plugin looks nice, and fills a common need in Mephisto. Also, the Thoughtworks Studios site is extremely well-done. I had seen it before, but didn’t realize it used Mephisto. Major kudos to James Crisp and Thoughtworks!

For anyone that asks: it looks like the main difference between this, and my own feedback plugin is that mine doesn’t send emails. It stores them in the DB and lets you browse in the admin. Nice since your inbox doesn’t get the spam, but I’ve been finding that I often forget to check it. :)

Posted in Mephisto | No Comments »

Mephisto Themes

March 25th, 2009 by admin

Cristi Balan has released the great looking Skittlish theme for Mephisto, designed by Damien Tanner. I thought this was one of the first 3rd party themes, but it looks like Sebastian Gräßl beat them to it with AntiTheme and ValidCode

Good job guys!

Mephisto has been a hot topic as of late and we’ve seen some great things happen over the past couple weeks. Most notably, we’ve seen some really hot designs and some pretty cool plugins surfacing around the Mephistosphere. The Brits especially seem to be taking a liking to Mephisto.

Danwebb.net

Dan has a great looking Mephisto site which is sporting a host of Mephisto plugins he has created including Mephisto Del.icio.us, Mephisto Last.fm, Mephisto Upcoming, and finally his Unobtrusive Synatx Highlighter. Wow! Thats a lot of stuff and Dan has been kind enough to make it all available for the entire Mephisto community as simple Rails plugins.

Dan also tells us why he chose Mephisto over the host of other systems available, pointing out how easy it is to extend Mephisto among other things. Dan knows his stuff too. For those of you who don’t know, Dan is the guy who hosts the @media conference.

UJSForRails and Luke Redpath

Luke (another bloody Brit) has been pumping out some beautiful Mephisto sites. Just as Dan showed us how extensible Mephisto is through plugins, Luke shows us how customizable the templates can be. It’s a great example of a cross-breed site that uses both Mephisto’s blogging features and it’s site features.

Luke’s personal site is also powered by Mephisto and is sporting a variation of the UJSForRails design. He has really blinged this one out with the Last.fm plugin!

 

I’ll show you mine if you show me yours

If you’ve got a cool looking Mephisto site or have created some plugins which others just can’t live without, we’d like to see them. Toss us a comment and show us what you’ve been doing with Mephisto.

Posted in Add-Ons | No Comments »

Akismet Support is Back

October 2nd, 2008 by admin

I found this article on Soaked and Soaped on protecting against spam with Akismet. It’s a pretty standard introduction to David Czarnecki’s ruby Akismet lib (the same one that Mephisto’s Akismet lib is derived from). I noticed he mentioned using an author of ‘viagra-test-123’ to test that Akismet was working. And, it wasn’t on this site, so I investigated further.

Apparently, Akismet started requiring the blog parameter sometime after I first integrated this support. David’s lib didn’t have it, so apparently Jordan Arentsen had to modify his to work. I did the same, while refactoring Mephisto a bit. Now, the comment_check method checks for a value of ‘true’ to approve a comment, instead of checking for a return that isn’t ‘false’. Had I checked that correctly, the broken Akismet lib would have marked all comments unapproved.

So, Akismet support should be working now. As a little bonus, the Approve/Unapprove links in the Comment Moderation Admin will make calls to Akismet to mark a comment as spam or ham. If Akismet steps out, correct it real quick, and remove the missed spam if needed.

Posted in Tips & Tricks | No Comments »

« Previous Entries Next Entries »