xmlrpc

XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism. read more at WikiPedia

  • Blogg-X is also using my captcha framework for Joomla.... :-)

    • Blogg-X is a cross platform (Mac OS X and Windows XP) blogging and content management tool for websites based on the Joomla! CMS. With it's built in WYSIWYG editor it allows rich content to be posted onto the front page of your Joomla! site eliminating the need for the internet browser and being logged in. Now also allowing easy updates to already posted content and post deletion. If you want to post content quickly and easily Blogg-X is for you. When combined with AkoCommentPlus from Walter Cedric you have a complete, fast, simple and spam free front page blogging solution for Joomla!
  • joomla_cms

     

    bloggar for joomla

    XML-RPC allow other programs to interact with the backend of your publishing system.
    In practical terms, You can post an entry to a Metaweblog API-compatible site from
    an external program!

    Using such tool has a lot of advantages:

    • Post and Publish on most blogs/cms, one tool to rule them all
    • Edit Posts and Templates without timeout, browser crash ;-)
    • Save Posts locally for further publishing,
    • Import Text files,
    • Add links and images, more complex formatting
    • Format text font and alignment faster,
    • Multiple accounts and blogs supported in one tools
    • Post/visualize preview
    • Colorized HTML code
    • Find/Replace option
    • Post to many blogs at the same time!
    • Spell Checking
    • File and Image Upload

    Back to joomla! There is a lot of API to interact with Joomla: XML-RPC, Blogger and MetaWeblog API.

    The MetaWeblog API,is an application programming interface created by Dave Winer that enables blog entries to be written, edited, and deleted using client software or web services.
    The API is implemented as an XML-RPC web service with three methods whose names describe their function: metaweblog.newPost(), metaweblog.getPost() and metaweblog.editPost(). These methods take arguments that specify the blog author's username and password along with information related to an individual weblog entry (also called a "post."). [from wikipedia]

    For Joomla 1.5 you can use Metaweblog API, which can be dwonloaded here: download MetaWeblog API at JoomlaCodeThe latest version that has work for me is the version 0.9. Working yes but with some limitations, you can't for example put any pictures in your post. Movable API is another 3rd party plugin developed in japan by Jomler!.net exist for both Joomla 1.0 and Joomla! 1.5 (Metaweblog plugin for Joomla). Movable API is much more powerful than Metaweblog, but I did not succeed in making it running

    Setting Joomla 1.5 for XMLRPC

    Go to global System settings, and enable Web Services

    Install the plugin using the Plugin manager, and do not forget to publish it

    joomla plugin manager

    Then you'll need a client software running locally:

    Linux

    Windows

    Lets look at the installation of some of them...

    w.Bloggar

    Download w.Bloggar and install it, the first start of w.Bloggar will pop up this windows:


    02.bloggar.for.joomla.gif
    03.bloggar.for.joomla.gif
    04.bloggar.for.joomla.gif
    06.bloggar.for.joomla.gif
    How this article look like in w.Bloggar





    Windows Live Writer 2008

    Can be download free of charge at http://writer.live.com

    Small, fast, has a lot of features and plugins, but run only in windows. Be careful during installation and read carefully all step to no get floaded by Microsoft services (set homepage to live, install messenger, install x and y)

    live.writer.menubar.gif

    live.writer.add.weblog.account.gif

    live.writer.select.other.gif

    live.writer.enter.login.gif

    live.writer.select.provider.gif

    And voila You can now list categories and publish your entries usig live writer.

    live.writer.forJoomla.gif

    Resources:
    - API http://www.xmlrpc.com/metaWeblogApi

  • And Tadaaa  I  finish the refactoring of BloggX, a java GPL component:

    Blogg-X is a cross platform (OS X, Windows XP, Linux) content management tool for websites based on the Joomla! CMS.  Blogg-X runs locally on your computer as a desktop application.  Utilizing built in WYSIWYG and HTML source editors you can post rich content on your Joomla! site without the use of the web browser.

    Refactoring is a  technique for restructuring an existing code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a 'refactoring') does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it's less likely to go wrong. The system is also kept fully working after each small refactoring, reducing the chances that a system can get seriously broken during the restructuring

    And I want to show here some results achieved, The author has done a great job, and I have tried to bring my Java expertise to help him bring new functionnalities faster. Moreover a JAVA break just for fun (but hehe  I already do Java at work :-) ) was needed after being so frustrated with PHP...

    But let me be a little more technical, below are some numbers create with a tool of IBM: Structural Analysis for Java:   Structural Analysis for JavaTM (SA4J) is a technology that analyzes structural dependencies of Java applications in order to measure their stability. It detects structural "anti-patterns" (suspicious design elements) and provides dependency web browsing for detailed exploration of anti-patterns in the dependency web. SA4J also enables "what if" analysis in order to assess the impact of change on the functionality of the application; and it offers guidelines for package re-factoring.


    Before: BloggX 2.11 After BloggX  refactoring Remarks
    Summary

    The overall stability of the system is 69%

    There are 24 objects, forming a total of 139 relationships. The typical object in this system immediately depends on 5.79 objects. On average, the modification of one object potentially affects 7.2 other objects.

    The overall stability of the system is 87%

    There are 82 objects, forming a total of 292 relationships. The typical object in this system immediately depends on 3.56 objects. On average, the modification of one object potentially affects 10.3 other objects.

    Highly stable systems are typically above 90%.

    Yes the system before was 69% but it was containing methods of 700 lines...
    Statistics
    Property Value
    Number of Objects 24
    Number of Packages 4
    Number of Relationships 139
    Maximum Dependencies 39
    Minimum Dependencies 0
    Average Dependencies 5.79
    Maximum Dependents 25
    Minimum Dependents 1
    Average Dependents 5.79
    Relationship To Object Ratio 5.79
    Affects on Average 7.2
    Property Value
    Number of Objects 82
    Number of Packages 19
    Number of Relationships 292
    Maximum Dependencies 44
    Minimum Dependencies 0
    Average Dependencies 3.56
    Maximum Dependents 20
    Minimum Dependents 0
    Average Dependents 3.56
    Relationship To Object Ratio 3.56
    Affects on Average 10.3
    Explosion of number of Objects and relationship: BloggX  is an ambitious project and functionnalities has to be distributed...
    Structural patterns
    Pattern Count % of total objects
    Tangle
    group of interdependent objects
    5 n/a
    Global Hub
    often affected when any object in the system changes and then affects a lot of other objects
    11 45%
    Global Breakable
    often affected when any object in the system changes
    11 45%
    Global Butterfly
    when changed may cause a lot of other objects to change
    17 70%
    Local Hub
    immediately depends on a lot of objects and a lot of objects immediately depend on it
    0 0%
    Local Breakable
    immediately depends on a lot of objects
    2 8%
    Local Butterfly
    a lot of objects immediately depend on it
    2 8%
    Pattern Count % of total objects
    Tangle
    group of interdependent objects
    4 n/a
    Global Hub
    often affected when any object in the system changes and then affects a lot of other objects
    9 10%
    Global Breakable
    often affected when any object in the system changes
    27 32%
    Global Butterfly
    when changed may cause a lot of other objects to change
    15 18%
    Local Hub
    immediately depends on a lot of objects and a lot of objects immediately depend on it
    0 0%
    Local Breakable  
    immediately depends on a lot of objects
    2 2%
    Local Butterfly
    a lot of objects immediately depend on it
    4 4%
    Al lot better after all changes i've made :-) but not perfect ;-)

    A lot of cleaned interface are still missing.

    Exploring relationship tn_before-BloggX-Refactoring-www.waltercedric.com.jpg tn_after-BloggX-Refactoring-www.waltercedric.com.jpg

    Distance graph distanceGraphbefore.gif distanceGraphAfter.gif The distance is a calculated value, that describes the encapsulation of a certain package
    While a distance of "0" means a "perfect" encapsulation, 1 stands for a complete lack of encapsulation.

    A lot of the code is below the medium line now, but still too high





    As side effect, I correct some bugs by removing duplicated code and non obvious by better localizing  responsabilities. Now the author will need time to understand all changes I've done, but overall It will be easier to maintain BloggX

    One of the best book about Refactoring, which has change my life of developer in 2002  is

    Refactoring-Fowler-Small.jpg Refactoring: Improving the Design of Existing Code
    by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
    464 pages
    Publisher:
    Addison-Wesley Professional; 1st edition (June 28, 1999)
    ISBN: 0201485672

     Martin Fowler  also explain why and how you can convince your manager you have to invest daily refactoring time.
  • This small plugin add automatically to any article a set of social icons that let your reader increase your social ranking. It support: Twitter, Facebook, Google +, Digg, Xing,StumbleUpon and LinkedIn

    You can see this extension in action on this blog.

    SocialSharingLive For Joomla! has been released at version 2.0.0 for Joomla! 1.5 and for Joomla! 1.7. It is running on this blog and at the various showcase demo site:

  • Ive tried 10 minutes ago Blogg-X&160; and I can assure You that it rocks!
    Blogg-X is a fat java application running under windows or macintosh, that can connect to your Joomla site using Apache XML-RPC (remote procedure call) and a bunch of other open source frameworks. This allow You to write, delete, and create new articles without using the admin back panel!!!!!

    YES I was dreaming of such a tool and found it by luck on Joomla Forge!

    It provide a WYSIWYG editor but no check spell (that the only negative I can say about it). All You have to do is to install a Mambot. There is currently no working Linux installation, But I will provide one and send it to the author in a few hours :-)

    >&160;Blogg-X is a cross platform (Windows XP SP2, Apple OSX 10.4.3 and Linux) content management utility for web sites based on the Joomla! Open Source Content Management System (CMS). Blogg-X is written in Java, this provides Blogg-X the ability to work with a variety of systems that have Java runtimes available and installed. Blogg-X eliminates the need to log into your Joomla! site via an internet browser. Once Blogg-X is configured your site settings are remembered and posts can quickly be posted, modified and deleted all without using the Joomla! interface.

    Since Java is my prefered language since 7 years, I may even submit patch to the project...
    Please donate to the project if You appreciate the hard work of Chris Campbell