Guest Blogger: Dave Cynkin, BlogWorld & New Media Expo

The team at BlogWorld & New Media Expo would like to invite the MindTouch community out to Vegas, and enjoy 20% off admission. Register with code MTDEKIVIP and you’ll save 20% off of every BlogWorld admission option including: Exhibits Only; Exhibits + Party; Full Access; Executive & Entrepreneur packages. And our normal discount pricing expires Aug. 22nd, so hurry and you can get the 20-off of the already discounted price and save a bundle!

BlogWorld & New Media Expo was created to nurture the fast-growing new media industry, to present an educational, enjoyable and energetic venue for connecting with talented resources, vendors and innovative developers for collaboration, and for discovering the latest advances in blogging, new media technology and social media networking. This is the place to come to supercharge both internally- and externally-facing communications for small enterprise up to the largest corporations.

Dave Cynkin
BlogWorldExpo Team

We’re proud to have MindTouch at BlogWorld, incredibly impressed with the team’s smart, user-friendly approach to enterprise collaboration tools thru Deki, and let’s face it…the electrifying spirit and energy of the MindTouch team on the tradeshow floor is contagious! If you haven’t had the opportunity to meet your MindTouch team and community members in-person, BlogWorld is the place to do it.

See you in Las Vegas, and don’t forget to register by Aug. 22nd for best savings! One last thing…our partner hotel discounts expire Aug. 18th, so book your rooms now, and you’ll have plenty of dough left over for nighttime shenanigans….like our friend Aaron here! :)

Visit the event site to register online and book your hotel room quickly and easily.

Dave Cynkin

The MindTouch team is happy to announce that we’ll be exhibiting at Defrag in early November. Defrag, a conference devoted to the tools and technologies that enable software to leverage social interaction, will be held in Denver, Colorado. This will be our second time at Defrag and it has proven to be one of most popular shows.

If you also plan to attend Defrag make sure you let us know! If you’re a Deki user, contributor, developer, evangelist or just a Deki fan join the MindTouch Tribe and keep up to date with our conference giveaways, events and festivities. As part of the MindTouch Tribe you will be eligible for:

  • $100 Discount Code to Defrag (must use before 08/15)
  • MindTouch FREEDOM t-shirt
  • Access to the MindTouch Happy Hour at Defrag
  • User meetups in your area
  • DekiCon schedule and locations

Learn more about Defrag and the MindTouch Tribe

The 8.05.2 release of MindTouch Deki has a many noticeable improvements, particularly regarding skinning template targeting. Additionally, 8.05.2 shipped with a fairly drastic series of updates to the most popular MindTouch Deki skinning template, Fiesta. The updates were introduced to increase skinning efficiency, to provide a better CSS file structure and to reduce the CSS filesize and load time.

Architectural Changes

Prior to 8.05.2 Fiesta utilized two main CSS files, _common.css which was located in the Fiesta directory and style.css which was located in the skins’ directory (i.e. grazing green, charcoal forest, etc). _common.css was used for all of the structural CSS (padding, width, margin, etc) and style.css was used for all of the style CSS (font, color, etc). Because each skin had its own copy of style.css there were 1,000′s of lines of CSS that were often redundant and updating a global feature involved making a change to multiple copies of style.css.

To remedy this problem I’ve added a new file called _style.css which is located in the Fiesta directory and contains all of the redundant style CSS (font, color, etc). I’ve also altered the style.css in the skins’ directory to contain only the differentiator elements such as link colors, background images etc.

Now, the skins’ style.css only contains about 400 lines of CSS as opposed to 4,000 formerly. Please refer to the Filesystem Structure documentation for more information.

Skinning Variables

Although reducing the CSS makes skinning MindTouch Deki much easier I saw another opportunity for improvement by utilizing CSS variables. By using CSS variables I was able to completely consolidate the vast majority of the skinning experience into about 30 lines. Of course you can still alter the other CSS and images as needed.

Please refer to the CSS variables documentation for more information.

Table Of Contents

One of the major frustrations of skinning Fiesta was caused by the CSS organization, or lack there of. To fix this frustration each of the primary CSS files ( _common.css, _style.css and style.css ) have been re-organized, consolidated and given a table of contents. The table of contents is structured based on the Fiesta Markup Structure and is consistent throughout each of the CSS files.

Reduced Selectors

If you attempted to skin MindTouch Deki you probably experienced some of the extremely lengthy CSS selectors. For instance elements were targeted by using the following CSS:

html body div.body div.page div.pageContentFrame {...}

Using such long selectors has proven to be heavy on the browser load time and also very cumbersome for altering. Given these reasons I’ve reduced the selectors to be similar to the following CSS:

.body .pageContentFrame {...}

By reducing the selectors I have eliminated some unnecessary CSS and also eased the maintenance process.

I hope you can benefit from the latest Fiesta updates and I will continue to improve the Fiesta skinning templates. If you’re interested in contributing please visit the Fiesta Documentation

Thanks

Damien
DamienH[at]mindtouch[dot]com

Until now the only portion of a page that has been editable by the user is the content inside the editor. Logically this makes sense, however, there are times when a user or administrator may want to add additional content to the skinning template*. For instance a user may want to add advertisements, navigations, widgets or some custom html. Such functionality has been available since November, 2007 but was fairly basic. Users could add site-wide content into numerous different custom HTML areas and were limited to HTML and client side scripting languages.

With our latest improvement (8.05.1) users can now designate custom skin content by assigning a page template** to specific skinning regions. This process offers two noticeable benefits. First, custom content can now be injected on a per-page basis. Second, and most importantly, custom content can now utilize DekiScript which means that both server-side and client-side functionality is acceptable. Another extremely useful benefit of using DekiScript for custom skin content is the ability to script per-user functionality.

In order to support skinning template targeting you need to make some minor modifications to your Deki. First you need to define which portions of your Skinning Template can have Deki content injected into them (for security reasons). To do this you need to crack open LocalSettings.php and add the following line:

$wgTargetSkinVars = array('customarea1', 'customarea2', 'customarea3',
'customarea4', 'customarea5');
(\192.168.168.XXdrivevarwwwdeki-xxxxxLocalSettings.php)

By adding the $wgTargetSkinVars to LocalSettings.php your simply granting permission for the listed Skinning Variables to be overwritten with injected Deki content. In the above example you can see that I opened up all the custom areas in a skinning template. If you’re using Fiesta these custom areas are the same as the custom HTML areas that are found in Control Panel > Visual Appearance > Custom Site HTML.

Now that you’ve updated LocalSettings.php you can go to your Deki and start injecting content. To start lets first create the content that is going to get injected. Navigate to Tools > Templates and create a new template called ‘PageTemplateName’. Add some generic text such as “MindTouch Deki is awesome”, save and then navigate to your Deki homepage. Now click edit on your Deki homepage and add the following DekiScript:

{{ wiki.template("PageTemplateName", nil, "customarea1") }}

Using the DekiScript above you’ve injected your Page Template into customarea1. Now you can take this example a little further by adding some DekiScript into your Page Template. Navigate back to Tools > Templates > PageTemplateName and click edit. Add some of the following examples:

{{ web.link(user.uri,'Take me to my page') }}
{{ wiki.contributors(nil, 3) }}
{{ feed.list('http://feeds.feedburner.com/mindtouch?format=xml',5) }}

I’ve been experimenting with this new approach a lot recently. In fact I have created two custom templates that take full advantage our new skinning capability. In both cases I was able to easily add powerful functionality to the templates with very little code. As I continue to experiment with new approaches to skinning I’ll be sure to keep everyone up to date.

Thanks

Damien
DamienH[at]mindtouch.com

* Skinning Template – Refers to the markup (php and HTML) of a MindTouch Deki skin. Examples include Ace, Base, Deuce and Fiesta.
** Page Template – Refers to a user created MindTouch Deki template. Users can create page templates by navigating to Tools > Templates in MindTouch Deki.

name

email

company

It has been an exceptional 2 years since we first released MindTouch Deki July, 2006 at the OSCON conference in Portland, OR. In this short time we’ve had many remarkable successes. Since then we’ve achieved a lot to be proud of. We’ve established ourselves as leaders and innovators in the rapidly growing Enterprise 2.0 and Social Enterprise Software space. As a leader in this burgeoning space MindTouch has acquired hundreds of fantastic customers, such as ABB, Mozilla, Intel, Fujitsu, Avaya, Siemens, BP, FedEx and countless others.

Successes

One of the easiest to analyze metrics of our success is adoption. Today we enjoy upwards of 2,000 downloads a day and now have over 200,000 active installations worldwide. Another great success is our partner program which gives MindTouch Deki a presence in 10 countries. Additionally one of the most exciting proof points is our first user organized conference that took place in the Fall of 2007 in Belgium.

One of the most important parts of building a company is the team that develops as the company matures. I’m really honored to be part of this team. Two years ago, about a year before I started at MindTouch, the company consisted of six full time employees. Although we’ve since grown to 18 full time employees we’re still a very tight-knit family. The people I work with are the smartest and most dedicated people I’ve ever known. We all really care about each other, our community, FLOSS, making the world a better place and building the best product in the Enterprise 2.0 / Social Enterprise Software space. I’m certain we’ve achieved this last point. :-)

About the OSCON Party

Join MindTouch at OSCON for a night of great music, free beer and good company. We’re hosting the party a block away from the Portland Convention Center (where OSCON is hosted) in the 6th floor lounge and terrace of the Red Lion Hotel on Wednesday July 23rd at 7pm.

Why are we celebrating Freedom?

The MindTouch “Freedom” celebration embodies one of the core values of MindTouch, freedom. We have developed MindTouch Deki as free and open-source software. We’ve utilized open standards and open file formats. We’ve integrated hundreds of services and applications for freedom from data and application silos. Most importantly we’ve encouraged free knowledge and the sharing of collaborative information. Our efforts and consistent devotion to freedom is ever prevalent in our software and as part of our corporate culture because we know that such an approach is vital to all technology, and society as a whole.

I hope to see you there!

Damien Howley
DamienH[at]mindtouch.com

July 23, 2008 7pm MindTouch Freedom Party at OSCON08 at Red Lion Hotel, 6th floor lounge and terrace, Portland OR

I’m happy to announce that MindTouch will be sponsoring the first Net.working social event in San Diego on June 23rd. Net.working is geared towards providing a social atmosphere for entrepreneurs, startups, technology advocates and new local talent alike.

The event will be hosted by StartupSD and kicks off at 6pm at J6-bar in downtown San Diego. For more information please visit the Net.working event page. Space is limited so be sure to RSVP.

Hope to see you there!

Damien Howley
DamienH[at]mindtouch.com

We are seeking a self-motivated, enthusiastic Community Manager with a strong technical background to support our rapidly growing user community and external networks. As the Community Manager, you will be the catalyst for external communication, networking and events across our users, partners and other interested technology parties. As the product and user advocate across a broad and growing base, a thorough understanding of the processes and technologies used for web infrastructure, as well as superior communication and organizational skills are critical. As the primary interface to all users and prospective customers, the Community Manager will demonstrate the ability to exceed expectations in a fast paced, startup environment where he/she will be a valuable contributor to the company’s overall growth and success.

Responsibilities

  • Maintain active community communication through newsletters, webinars, blogs, social media and forum posts
  • Coordinate all efforts regarding the wiki, forums, blogs and similar community tools
  • Provide strategy and thought leadership in external networks by actively listening and responding quickly to key partner, technology and user postings as well as developing deep networking relationships
  • Drive the strategy and execution for expanding community activity and product adoption
  • Organize and execute all community events including online events, community meetups and conferences
  • Advocate community issues and product requests internally. Advise internal stakeholders of important trends and events in the community, using key data and statistics gathered from the community

Qualifications

  • Experience with online communities and/or technical support for consumer web applications
  • Technological knowledge and experience with web 2.0 applications including both consumer and enterprise technologies.
  • Expertise using social media and consumer-driven content such as wikis, web feeds, blogs, forums, and podcasts
  • Overall development experience using xml, php and C#.
  • Strong organizational skills and attention to detail
  • This role requires strong collaboration with marketing, engineering and support, so exceptional and demonstrated cross-group collaboration skills are required
  • Other important strong skills include a passion for customers, strategic thinking and driving for results
  • Ability to travel up to 10-15% for conferences
  • Bachelors degree

Damien Howley
DamienH[at]mindtouch.com

About a week ago I read an article written by Marshal Kirkpatrick called How to build an RSS and Blog News Site for your project. In short, Marshall basically outlined how he had built an RSS-based microsite for the JavaOne conference. The article was great, and although I believed I knew almost everything about refining RSS feeds, I actually learned a thing or two.

Towards the end of the article, Marshall started to dive into the presentation process but confessed that he was not very involved in that portion of the project. At this point, I started thinking about MindTouch Deki Wiki, and how to integrate the filtered and refined RSS feeds using the wiki’s application platform. Deki Wiki is a powerhouse when it comes to aggregating and mashing up content, so it was a fairly reasonable thought. To that end, I figured I would put a couple of demos together to show you how to use Deki Wiki to easily build a similar app. I’ll also demo some of the more advanced stuff like using Dapper to scrape and mashup web apps.

RSS presentation

It’s pretty straight forward. By using the Deki Wiki Extension Dialog () , you can quickly and easily display your RSS feeds as lists, tables, or tabs. Also, since the interface is a wiki, users can easily manipulate the manner in which they want their RSS feeds to display. Create a table, drop your RSS feed in there, maybe add some CSS in the markup view and off you go.

In the screen shot below, you can see that I quickly added two RSS lists into a table and clicked save. Taking Marshall’s advice, I used Google Blogsearch to find and filter my blogsearch. Unfortunately, I didn’t take the time to weed out the duplicates or format the HTML as suggested, but I know that I could have if I had the time. At Google Blogsearch I used the following two search queries:

  • (MindTouch and Mozilla) – “Re:”
  • (MindTouch or Deki Wiki)

Using Deki Script the RSS feeds look like this, respectively. Keep in mind you don’t have to write Deki Script unless you really want to. You can use the extensions manager to insert and manage all Deki Script.

  • {{ feed.list{feed: “http://blogsearch.google.com/blogsearch_feeds?hl=en&q=(MindTouch+and+Mozilla)+-+%22Re:%22&ie=utf-8&num=10&output=rss”, max: “30″} }}
  • {{ feed.list{feed: “http://blogsearch.google.com/blogsearch_feeds?hl=en&q=(Deki+Wiki)+-+%22Re:%22&ie=utf-8&num=10&output=rss”, max: “30″} }}

Using Dapper to Make a Mashup in Deki Wiki

Let’s take this a step further and integrate some other cool applications. I’ll also add some Deki Script to make it as interactive as possible. Let’s start off with two of our most beloved services, Dapper and Yelp. First, using Yelp, I decided to search around for something that interests me. I quickly found the San Diego Nightlife page. I then went to Dapper.net and pieced together my Dapp; I created the values TopTitle, TopDescription, and VenuList. It only took two minutes to create my Dapp, and then I was back over to Deki Wiki. In Deki Wiki, I clicked Edit on my page and using the using the Extension Manager I inserted my Dapp. If you look above the Extension Manger you’ll be able to see a glimpse of the Deki Script that is being created for you.

Again, here is the Deki Script that was entered to retrieve both the TopTitle and TopDescription respectively:

  • {{ dapp.html{name: “YelpSanDiegoNightclub”} }}
  • {{ dapp.value{name: “YelpSanDiegoNightclub”, xpath: “Top/TopDescription”} }}

Easy, huh? Let’s move along. Next, let’s take the value from our first Dapp (TopTitle) and use it in some other extensions. I’m going to use the TopTile value in a Flickr Slideshow, a Google blog search RSS Feed, and a Google Video search, and then show the list of other ’second rank’ venues. Here is the mashed up Deki Script in the same order:

  • {{ flickr.slideshow{tags: dapp.value{name:”YelpSanDiegoNightclub” }, width: “250″, height: “250″} }}
  • {{ google.SearchBlogs{search: dapp.value{name:”YelpSanDiegoNightclub” } } }}
  • {{ google.searchvideos{search: dapp.value{name:”YelpSanDiegoNightclub” } } }}
  • {{ dapp.list{name: “YelpSanDiegoNightclub”, xpath: “VenueList”} }}

As you will see below, I’ve arranged the extensions throughout the page to my liking. I floated the flickr slideshow to the right and then then listed the rest of the extensions throughout the page.

And here’s the final result! The awesome part about this example is that whenever the Yelp community decides another venue is more popular, your entire mashup is updated with the new venue’s info.

The next (more advanced) topic I’ll jump into is parameterized templates, but I’ll save that post for another day. Stay tuned!

Damien Howley
DamienH[at]mindtouch.com
@DamienH

Happy belated Cinco De Mayo! In the spirit of the holiday I have decided to release a new Fiesta skin that I’ve been working on for the last week or so. It’s called Fiesta PRO and it’s basically a more professional skin built on the Fiesta markup.

If you’ve used Deki Wiki you’re more than likely familiar with the Fiesta skin. Fiesta comes in a number of variations including Grazing Green, Sky Tangerine and Rustic Azure, just to mention a few. The skin was created in 2007 and was intended to be used primarily on www.wik.is, our free hosted wiki site. Despite the fact that Fiesta has been extremely popular it has received some criticism for being too ‘consumerish’. In an effort to curb my criticism I set out last week to put a more serious spin on the formerly fun-loving Fiesta.

There are a lot of things that I changed with the new skin. Most noticeably the round edges are now gone. The font-sizes have been reduced to make the skin more compact and a lot of the less functional elements (wiki logo, user login status, top navigation bar) have also been reduced to give the users more complete view of the wiki. Lastly I merged all of the elements together so there wasn’t so much of a ‘bubbly’ separated look. Overall the new Fiesta PRO skin is much leaner and very clean.

Another byproduct of the new layout is that it is much easier to customize. With the other Fiesta skins there are a lot of custom images with round edges and added gradients. There are also a lot of different colors which makes it harder to change. With Fiesta PRO there are fewer colors and no rounded edges. There are also a lot fewer images so you won’t need to crack open Photoshop to change things around.

As of now Fiesta PRO will only be available for download, not as an update. As with Deki CMS we’re not going to ship the skin with Deki Wiki. Fiesta PRO will be available for download at http://wiki.opengarden.org/Deki_Wiki/Skinning/Fiesta/PRO. For now Fiesta PRO will remain a beta skin and I’ll address issues and suggestions as needed. Please feel free to email me with any remarks.

Download
http://wiki.opengarden.org/Deki_Wiki/Skinning/Fiesta/PRO

Thanks
Damien Howley
DamienH[at]mindtouch.com

Deki CMS combines the strengths of both a wiki and a content management system ensuring ease of use, control, and great presentation for designers, writers and administrators alike. The CMS is a feature add-on to Deki Wiki which essentially transforms the extremely powerful wiki platform into a light weight CMS system. In addition, Deki CMS allows users to leverage a collaborative content management system for greater content growth and governance.

I created the first version of Deki CMS about 10 months ago to power the MindTouch public site. I developed the add-on because I was sick of using other content management systems and being let down. With other content management systems I wasn’t able to version my changes and I couldn’t see who was contributing what. I couldn’t do simple things like easily maintain url aliases or use templates throughout the MindTouch site. I also had problems with file attachments, in particular with storing design files. Oh yeah, and my content backup consisted of me yelling to Roy “Hey, save a copy of the database” and five minutes later “ok, revert the database.” I quickly realized that all these issues had already been solved and were the core competencies of a wiki.

Because Deki Wiki was so powerful and also such a great collaboration platform, I thought I’d try to bend the rules a little. I altered the wiki markup and placed all of the wiki functions in an easily accessible toolbar(create page, recent changes, hierarchical navigation, revision history, etc). I then made some more markup changes and hid the toolbar from anonymous users. Simply put, all site visitors see only the blank canvas of the wiki and all registered wiki users see the canvas and the toolbar.

Download at Sourceforge

Since my first release, I have made many major improvements. Deki CMS currently has revised SEO functionality, increased usability design, and drastically improved page load speeds. I’m going to continue improving the add-on but because it is one of my 20% projects, Deki CMS will not yet be supported or shipped with Deki Wiki. We have, however, decided to make Deki CMS publicly available for download. The files along with the instructions are available on SourceForge.

Simply navigate to the ‘download > browse all files’ tab and you’ll find Deki CMS under MindTouch Deki Wiki Modules.

MindTouch Deki CMS forum

I’ve also created a forum post to address issues, concerns and suggestions. Please use the forum link below for more information.

Thanks for your support
Damien Howley
DamienH[at]mindtouch.com