Custom, Self Hosted Lifestream With Sweetcron

A few weeks ago I launched a new design here at Papertree and with that I tacked on a new feature, enter my lifestream. There are a number of ways you can go about creating a lifestream, but I decided to give Sweetcron a try after reading this short tutorial by Chris Coyier, featured on Nettuts.com.

Why did I go with the self hosted Sweetcron, when there are hosted platforms like FriendFeed and Storytlr?

If you are like me and you like to be in control of everything from content to design you will understand my reasons for this decision. Sweetcron allows you to customize just about everything you can think of through a pretty slick templating system similar to the way WordPress works. The Sweetcron platform comes stock with two “starter” themes one of which can be seen in a customized form on Yongfook.com (also the creator of Sweetcron) and the other being a slightlty simpler version that I decided to pick apart. Beyond design customization you can also easily control how each of your feeds display using a series of inherit functions. (More on this later). And lastly I am able to add just about anything I can think of to my “stream” including RSS from a few other blogs that I try to publish to on a regular basis. So far so good.

After installation and on to customization!

Skipping through install and basic configuration which can be found in the tutorial mentioned above or the Sweetcron Google Group and heading straight to the customization. First you will need to navigate your way to the included themes by following the path system/application/views/themes. There I found the two themes mentioned above rightfully names “boxy” and the “sandbox” theme. I choose to use the existing themes to start with so I copied the sandbox theme and renamed it Simpleton based on the fact that my lifestream was intended to be simple and easy to follow. Then I started digging through the files one by one. My design customizations proved to be fairly easy, I simply edited the already available classes on the short and sweet CSS file included with the sandbox theme. I found reason to add a few of my own but due to the simplicity of my design I was able to get away with using most of what was already present. I then went to the admin panel and decided to start adding a few feeds to test this sucker out. Adding a feed is extremely simply, just navigate on over to the feed tab in your admin panel and click add new feed, like this:

Easy enough right? So I went about adding a few feeds such as Flickr, Vot.eti.me, Viralthinking.com RSS etc. and navigated to my lifestream homepage. At this point things were looking pretty nice I was happy overall but I saw some room to tweak it a bit. More specifically here I decided that pulling feeds from my other blogs was great but I would prefer to only show titles and no excerpts. I knew that in the boxy theme the feeds had been organized according to the source of the feed, so using that as a reference I started chopping up my own theme to display only a title, published date and a few tags. Here is an example of the code I used in the _activity_feed.php file (which controls how feeds display):


<!--Viral Thinking-->
<?php elseif ($item->get_feed_domain() == 'viralthinking.com'): ?>
<h2><?php echo $item->get_title()?></h2>
<ul class="item_tag_list">
<li>Tags: </li>
<?php foreach ($item->get_tags() as $tag): ?>
<li><a href="<?php echo $this->config->item('base_url')?>items/tag/<?php echo $tag->slug?>"><?php echo $tag->name?></a></li>
<?php endforeach; ?>
</ul>

There now I had something I could live with. After styling every feed I plan to run through the lifestream and making a few final touchups to the styling of the theme I ended up with the nice little package that you can see now on lifestream.papertreedesign.com. You will also notice that I decided to stick with the fairly simple navigation using the paged feature at the bottom and the tag cluster in the sidebar. My theory here is that as with most social networking sites such as twitter, people are most interested in the here and now, in other words the most recent. However the tag cluster is nice because something might catch your eye. Sweetcron is available here. Happy lifestreaming!

I would like to note that Sweetcron also has a blog publishing function built in, technically you could use the platform as the face of your online presence. I chose not to use this feature being that my original intention for creating a lifestream was to serve up snippets of everything I am already involved in and 3 blogs is more than enough space to collect my ramblings