11 Jun 2007, 4:57am
Projects:
by Cliffano Subagio

leave a comment
  • SCode Image Reload

    Sometimes the numbers on SCodePlugin-generated CAPTCHA image are not easy to read. And rather than refreshing the whole page, it would be nice to reload only the image and generate a new / more readable code.

    In order to give this a go, I modified the comment form on Melbourne photoblog and added a short Javascript code to refresh the image source. You can try it yourself on this form, just click the text “Generate another code” and wait shortly for the image to be reloaded with a new code.

    I have updated the Usage sample code on SCode Plugin wiki page with this improvement.

    As a side note, I found a problem where modifying img.src value via anchor tag’s onclick attribute does not work on IE 6 and the image will just disappear, while it works just fine on Firefox 2 and Opera 8.5 .

    function reloadSCode() {
      var scodeImage = document.getElementById("scodeImage");
      scodeImage.src="$BLOJSOM_BLOG.getBlogBaseURL()/captcha?flavor=kink&t=" + (new Date()).getMilliseconds();
    }
    
    <a href="javascript: void(0);" onclick="reloadSCode();">Generate another code</a>.
    

    After some mucking around, I found out that the function call must be made from the href attribute. This works on the browsers mentioned above.

    <a href="javascript: reloadSCode();">Generate another code</a>.
    

    Them browsers better implement proper Javascript standard before doomsday comes.

    2 May 2007, 8:16pm
    Projects:
    by Cliffano Subagio

    leave a comment
  • SCodePlugin v0.5

    SCodePlugin v0.5 has been released, expect the jar and source downloads to be available from SourceForge mirrors in the next few days. As usual, if you want it earlier, just email me and I’ll send it to you.

    Changelog:

    • Introduced KaptchaImageEngine using Kaptcha (was Simple Captcha) library, with 3 new flavours from KinkImageEngine, FishEyeImageEngine, and ShadowImageEngine.
    • Replaced image engine class loading in image factory with constructor injection. SCodePlugin passes the image factory to SCodeServlet, instead of passing the image engines.
    • Set ImageIO caching off during SCodeServlet initialisation. This improves performance and prevents any temporary disk-based image creation.

    Upgrade instruction:

    • In WEB-INF/lib directory, replace scodeplugin-0.4.jar with scodeplugin-0.5.jar, and add kaptcha-1.1.jar .
    • On /WEB-INF/classes/blojsom-plugins.xml file, replace the scode bean declaration you have for SCodePlugin v0.4:
      <bean id="scode" class="com.mbledug.blojsom.plugin.scode.SCodePlugin" init-method="init" destroy-method="destroy">
          <constructor-arg>
              <map>
                  <entry key="simple" value="com.mbledug.blojsom.plugin.scode.engine.SimpleImageEngine"/>
                  <entry key="gradient" value="com.mbledug.blojsom.plugin.scode.engine.GradientImageEngine"/>
                  <entry key="funky" value="com.mbledug.blojsom.plugin.scode.engine.FunkyImageEngine"/>
              </map>
          </constructor-arg>
      </bean>
      

      with this for SCodePlugin v0.5:

      <bean id="scodeSimpleImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.SimpleImageEngine"/>
      <bean id="scodeGradientImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.GradientImageEngine"/>
      <bean id="scodeFunkyImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.FunkyImageEngine"/>
      <bean id="scodeKinkImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.KinkImageEngine"/>
      <bean id="scodeFishEyeImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.FishEyeImageEngine"/>
      <bean id="scodeShadowImageEngine" class="com.mbledug.blojsom.plugin.scode.engine.ShadowImageEngine"/>
      <bean id="scodeImageFactory" class="com.mbledug.blojsom.plugin.scode.ImageFactory">
          <constructor-arg>
              <map>
                  <entry key="simple" value-ref="scodeSimpleImageEngine"/>
                  <entry key="gradient" value-ref="scodeGradientImageEngine"/>
                  <entry key="funky" value-ref="scodeFunkyImageEngine"/>
                  <entry key="kink" value-ref="scodeKinkImageEngine"/>
                  <entry key="fisheye" value-ref="scodeFishEyeImageEngine"/>
                  <entry key="shadow" value-ref="scodeShadowImageEngine"/>
              </map>
          </constructor-arg>
      </bean>
      <bean id="scode" class="com.mbledug.blojsom.plugin.scode.SCodePlugin" init-method="init" destroy-method="destroy">
          <constructor-arg>
              <ref bean="scodeImageFactory"/>
          </constructor-arg>
      </bean>
      

    13 Apr 2007, 3:07pm
    Projects:
    by Cliffano Subagio

    leave a comment
  • FishEye And Shadow Flavors

    Still using Kaptcha, I added 2 new flavors to SCode Plugin: “fisheye” and “shadow”. Here’s the screenshot:

    Same as “kink”, these new flavors will be part of SCode Plugin 0.5 .

    Recent Posts

    Recent Comments

    • Chess Strategizer: This just got bookmarked! “That’s why I always think of Simon Bolivar and remember that...
    • David from getcheaptrainfares.co.uk: Thank you very much for sharing your wonderful tips! That would definitely be a...
    • Natasha: The quote “Find the best in everybody. Just keep waiting no matter how long it takes. No one is all...
    • Alfonzo Donkin: Stumbled upon your website via bing the other day and absolutely think its great. Carry on the great...
    • Cliffano Subagio: Sure thing.

    Most Commented Posts

    Linkroll