Reyza

tenang, senang, sederhana
See also: Other Geeks@INDC

AutoMedia Module Improvement

Sedikit ada hubungannya pada posting sebelumnya yang ada di sini.

Dengan membuka penggunaan tag-tag : object, param, embed akan memungkinkan meng-embed konten seperti SoapBox, YouTube, SlideShare dan lain-lain termasuk konten dari Tube-Tube lain dari daerah abu-abu pada blog atau forum. Untuk meminimalisasi kebebasan yang tidak terkendali ini dapat dilakukan dengan membuat module kecil pada Community Server yang berfungsi untuk meng-embed konten dari site tertentu (hanya tertentu saja, misalnya hanya dari YouTube dan SoapBox saja). Module ini juga akan memudahkan dan mempersingkat user untuk menuliskan sintaks untuk menambahkan konten yang diinginkan.

{CS Module : AutoMedia}

Saat ini telah dikenal CSModule dengan nama AutoMedia yang dibuat oleh Gary McPherson yang dapat ditemui di sini. Dengan menggunakan custom module ini memungkin untuk meng-embed media dengan format asx,avi,wma,wmv,mpg,mov,mp4,flv,ra,ram,rpm,rv,mov,3gp,swf. Caranya? Cukup dengan menggunakan sintaks seperti berikut :

Capture

Sintaks di atas dapat ditulis pada editor posting blog dan forum. Bila anda yang membuat webcast atau mempunyai video yang menarik yang senada dengan tema Geeks Portal ini maka dapat anda melakukan cara di atas untuk men-share-nya.

Selain itu juga dapat meng-embed video dari SoapBox dan YouTube dengan sintaks berikut ini :

geek2

contohnya seperti video YouTube di bawah ini :

http://www.youtube.com/v/knQKdhGmL8s <p><a href="http://www.youtube.com/v/knQKdhGmL8s" target="_blank">http://www.youtube.com/v/knQKdhGmL8s</a></p>

View original media here: http://www.youtube.com/watch?v=knQKdhGmL8s

{Slide from SlideShare.net}

SlideShare adalahwebsite dengan layanan upload slide Power Point (Open Office dan PDF juga bisa) dan menampilkannya dengan memanfaatkan Flash, jadi tidak perlu menginstall Power Point bila ingin melihat slide tersebut, terlebih selama sudah terinstall plugin Flash pada browser, maka sistem operasi bukan menjadi hambatan lagi (walaupun ada Wine atau CrossOver di Linux untuk menginstall aplikasi Windows pada Linux).

Sayangnya module AutoMedia belum support untuk meng-embed ini ke posting blog atau forum, walaupun saya kira di awal dapat menggunakan tag media dengan type swf. Begitu juga dengan memanfaatkan perubahan konfigurasi pada communityserver.config. Jadi solusi yang paling mungkin, paling mudah dan paling singkat adalah dengan mengedit CSModule AutoMedia agar bisa support untuk embed slide dari SlideShare.

Langkah yang pertama dilakukan adalah membuat Class Library Project dengan class seperti berikut :

using System;
using System.Collections;
using System.Collections.Specialized;
using System.Configuration;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Xml;
using CommunityServer.Components;
using CommunityServer.Blogs.Components;
using CSMVPs.Components;

namespace INDC.Geeks.CSModules.Reyza
{
    public class AutoMediaImprovement : ICSModule
    {
      . . . .  
     }
}

artinya project ini akan membutuhkan reference seperti pada gambar berikut ini :

geek3

Karena kode untuk meng-embed slide dari SlideShare.net seperti ini :

geek4

maka perlu untuk support keperluan itu perlu ditambah kode seperti berikut :

switch (plugin)

{
   case "slideshare":
     objectTag.Tags.Add(new Parameter("movie", url));
     objectTag.Tags.Add(new Parameter("allowFullScreen", "true"));
     objectTag.Tags.Add(new Parameter("allowScriptAccess", "always"));
     Tag childTag = new Tag("embed");
     childTag.Parameters.Add("height", height);
     childTag.Parameters.Add("width", width);
     childTag.Parameters.Add("allowscriptaccess", "always");
     childTag.Parameters.Add("allowfullscreen", "true");
     childTag.Parameters.Add("src", url);
     childTag.Parameters.Add("type", "application/x-shockwave-flash");
     objectTag.Tags.Add(childTag);
     break;
   default:
     return fallbackString;

}

Lakukan kompilasi dan CSMVPs.Components.dll dan INDC.Geeks.CSModules.Reyza.dll siap di-deploy ke CS Site. Selanjutnya adalah mengupdate communityserver.config untuk menambahkan baris berikut di antara tag <CSModules> :

<add name="AutoMediaImprovement"
    type="INDC.Geeks.CSModules.Reyza.AutoMediaImprovement, INDC.Geeks.CSModules.Reyza"
    height="350"
    width="425"
    applicationTypes="Forum,Weblog,ContentManagement"
    defaultMessage="&lt;p&gt;&lt;b&gt;View original media here:&lt;/b&gt; &lt;a href=&quot;{0}&quot; title=&quot;{1} media URL&quot;&gt;{0}&lt;/a&gt;&lt;/p&gt;"
    syndicationMessage="[Go to the site to view embedded media]">
    <plugins>
        <plugin name="SlideShare" extensions="slide" />
    </plugins>
</add>

atau bila tidak ingin mengedit file communityserver.config cukup buat file communityserver_override.config dengan kode baris seperti berikut :

<?xml version="1.0"?>
<Overrides>
  <Override xpath = "/CommunityServer/CSModules" mode="add">
    <add name="AutoMediaImprovement"
        type="INDC.Geeks.CSModules.Reyza.AutoMediaImprovement, INDC.Geeks.CSModules.Reyza"
        height="350"
        width="425"
        applicationTypes="Forum,Weblog,ContentManagement"
        defaultMessage="&lt;p&gt;&lt;b&gt;View original media here:&lt;/b&gt; &lt;a href=&quot;{0}&quot; title=&quot;{1} media URL&quot;&gt;{0}&lt;/a&gt;&lt;/p&gt;"
        syndicationMessage="[Go to the site to view embedded media]">
        <plugins>
            <plugin name="SlideShare" extensions="slide" />
        </plugins>
    </add>
  </Override>
</Overrides>

Sekarang untuk menggunakannya tinggal menggunakan sintaks seperti berikut :

geek5

Hasilnya bisa dilihat pada link berikut : http://getinspiredhere.net/blogs/marketers/archive/2008/06/07/digital-advertising-trends.aspx

geek6

Semoga feature ini akan segera dinikmati di Geeks Portal, sehingga teman-teman yang punya slide hasil presentasi, msdn day dan lain-lain dapat di-share dan dinikmati secara online :)

Share this post: | | | |

Comments

No Comments