Blogposts von blogCFC an twitter senden

Bloggen, twittern, facebooken, chatten: Man kommt gar nicht mehr zum Arbeiten, wenn man alle Kanäle bedienen will. Deshalb habe ich heute meinen Blog (blogCFC) mit twitter kurzgeschlossen. Will heissen: Posts in diesem Blog erscheinen nun auch automatisch und verlinkt bei twitter.com.

Um dies zu ermöglichen, waren ein paar kleine Modifikationen an Raymond Camdens blogCFC notwendig.

Zuerst habe ich mit Andy Jarrets twitterCFC, ein Plugin für den Mango-Blog geschnappt. Darin enthalten ist ein simpler Code, mit dem der Twitter-Feed aktualisiert werden kann. Und was mit Mango funktioniert, geht natürlich auch mit blogCFC.

Das ini-File des Blogs – zu finden unter /org/camden/blog/ – habe ich ergänzt mit einem generellen Parameter, mit dem sich die Verknüpfung zu twitter.com ein-, beziehungsweise ausschalten lässt. Dazu kommen zwei Parameter für die Twitter-Benutzernamen und -Passwort.

Die Funktion zum Versenden habe ich in der Datei blog.cfc untergebracht:

<cffunction name="postToTwitter" access="public" returntype="void" output="no">
    <cfargument name="entryid" type="uuid" required="true">
    <cfset var entry = getEntry(arguments.entryid,true)>
    <cfset var entrylink = makeLink(entry.id)>
    <cfset var status = "">
    <cfset var i = "">
    <!--- check release status --->
    <cfif entry.released and dateCompare(dateAdd("h", instance.offset,entry.posted), blogNow()) lte 0>
        <cfset status = entry.title>
        <!--- init shrinkURL library --->
        <cfif Not StructKeyExists(application,"shrinkUrl")>
            <cfset application.shrinkUrl = CreateObject("component", "org.sweettweets.shrinkURL")>
        </cfif>
        <!--- shrink the link for this post --->
        <cfset entrylink = application.shrinkUrl.shrink(service="tinyurl", url=entrylink)>
        <!--- add the blog-link, if the maximum characters has not been exceeded --->
        <cfif Len(status & entrylink) LT 138>
            <cfset status = status & ": " & entrylink>
        </cfif>
        <!--- add the blog-categories, as long as the maximum characters has not been exceeded --->
        <cfloop list="#StructKeyList(entry.categories)#" index="i">
            <cfif Len(status & entry.categories[i]) LT 138>
                <cfset status = status & " ##" & entry.categories[i]>
            </cfif>
        </cfloop>
    </cfif>
    <cfif status neq "">
        <cfset application.twitter.postToTwitter(status) />
    </cfif>
</cffunction>

Zur Generierung der Kurz-Urls verwendet ich die Bibliothek shrinkURL, die im Download-Paket von blogCFC bereits enthalten ist. Und wie man ebenfalls herauslesen kann, habe ich die Twitter-Bibliothek in den application-Scope geladen.

Aufgerufen wird der Versand übrigens in der Datei /client/admin/entry.cfm – nachdem der Eintrag worden ist.

So, Blog und twitter sind nun verbunden – was kommt wohl als nächstes dran?

Verwandte Blog-Einträge

Kommentare

Leave this field empty
Ihren Kommentar hinzufügen

Falls Sie abonnieren, werden alle neuen Kommentare zu diesem Thema an Ihre E-Mail-Adresse gesandt.

TrackBacks

Es gibt keine Trackbacks für diesen Eintrag.

Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=657205C7-CAE6-4380-A828579A75B43771