Developing Plug-ins for MetaComic

Please check the development environment requirements you need to start developing Comic Plug-ins for MetaComic.

Introduction

The MetaComic client is Windows desktop based comic strip retrieval and archiving utility used to fetch comic strips from various publicly available RSS/XML feeds on the Internet. It can be used to update your daily comic strips for viewing at ease of your Windows desktop. The application maintains a folder based comic strip database in which you can store and manage your favorite comic strips. It can be used to convert comic strip images in your comic strip database to CBZ (comic book archive) format or PDF format for archiving.

Steps for developing Plug-ins for MetaComic


It is developed in C# and you can extend the application via its source code and add interesting ideas and features.If you have the correct development environment
it is a quite simple task.Currently MetaComic is a Windows Forms C# Desktop application.

All you need to add your MetaComic Comic Plug-ins are to create a (Visual Studio 2010) Class Library project and refer the dll -> MetaComic.Plugin.dll.

Implement the IComicPlugin interface.

using System;
using System.Drawing;

[assembly : CLSCompliant(true)]
namespace MetaComics.Client.Plugin
{
    /// <summary>
    /// This delegate is used to announce something to the outside of the plugin
    /// </summary>
    public delegate void AnnounceOutput(object sender, string Message);

    /// <summary>
    /// The interface implemented by all plugins. 
    /// Remeber: Override the ToString() with the name of the plugin
    /// </summary>
    public interface IComicPlugin
    {
        string Name { get; set; }
        /// <summary>
        /// This event is used to signal to the out world that something happend
        /// </summary>
        event AnnounceOutput WriteOutput;
        /// <summary>
        /// This function briefly describes the purpose of the plugin
        /// </summary>
        /// <returns>The string containing the description</returns>
        string Description();
        void ReadComicStripFeed();
        void DownloadImageFromFeed(string datepublished, string feeditem);
        Image ComicOfTheDay();
        Image ComicOfTheDay(string comicStrip);
        string ComicName();
        string ComicFeedURL { get; }
    }
}

The basic operations you need to implement are

1.Get the comic strip RSS/XML url.

2.Parse the comic strip RSS/XML url.

3.Download the comic strip images from the RSS/XML url.

4.Store it to the Comic Strip Database File System Structure in the format - > Strip{database folder} -> ComicStripName -> yyyy-mm-dd {e.g. 2011-03-13}

5.Handle all errors as needed.

6.Register your plugin in the App.Config of the MetaComics.Client.exe as below in the <appSettings>...</appSettings>

<add key="Plugin_Flimsythekitten"     value="MetaComics.Client.exe, MetaComics.Client.Plugin.FlimsythekittenComicPlugin"/>

NOTE: key should start with Plugin_ for MetaComics.Client.exe to recognize it and load it.Recommended name space is namespace MetaComics.Client.Plugin for your interface implementation to keep consistency.

7.Compile and drop the dll in the application folder.

8.Enable the plug-in from the Plug-in Options.

9.Click update and your done.

Last edited Mar 13, 2011 at 12:39 PM by abmv, version 7

Comments

No comments yet.