Tags:
create new tag
view all tags

Software Development Kit

Editors

Random ideas

Whilst trying to get my latest Wiki working I was confronted with how long it was taking. This is due to:

  • Patches for practically everything (though mostly for plugins), meaning that patches take yonks to get back into the code base.
    • This is in part due to plugin authors not knowing that a patch has been submitted
    • and in part not wanting to have to respond to every patch request.
  • No standard directory in which to keep them
  • In no standard format (should be specified by PatchGuidelines)

And I thought to myself: no way would I choose to upgrade this once it is working!

Because I think this happens for a lot of developers, I think it would be useful if TWiki came with a Software Development Kit.

At a minimum this SDK would:

  • have a single executable perl script in bin, called 'sdk', this would have subcommands
    • invocable as e.g. 'sdk patch'
  • have commands to create patches for TWiki in a standard format. This would ensure
    • patches have input filenames that are the right way around
    • are in the right format
    • have the right names, and
    • are posted to the right topic
  • consolidate into a perl program the facilities offered by PluginCvsToolsAddOn (see transcript at PluginCvsToolsAddOnDev)
    • commands to checkout a twikiplugin from CVS (1124)
    • to commit them back to the repository (1130, 1131)
    • to create a zip and tar file for uploading (1134, 1135, 1136, 1137, 1179)
    • and either copy them to a the pub dir for a topic name (in the transcript just copied as in 1152, 1185)
  • add parallel features for the main twiki tree

Eventually we could aim at:

    • upload via post to a topic name, or
    • have the results of 1136, 1137/1179 available as a CGI script that takes the plugin name + a CVS tag (such as latest or CairoRelease) to dynamically the zip/tgz from CVS, or
    • post the zip/tgz to CPAN as a module called TWiki::Plugins::_PluginName_ * Code already available see: http://search.cpan.org/author/PETDANCE/release-0.22/

SDK invocation syntax What it would do
sdk mkpatch make a patch
sdk uploadpatch upload the patch
sdk patch URL download and install a patch
sdk reapply-patches  
sdk plugin co PluginName Check out named TWikiExtension
sdk plugin install PluginName Get and install named TWikiExtension
sdk plugin getpatches PluginName Get patches attached to Dev topic of named TWikiExtension
sdk plugin installpatches PluginName Install patches attached to Dev topic of named TWikiExtension
... add yours or change mine  

Obviously this is a broad goal and not everything would be implemented on a first release.

  1. We need to identify modules in CPAN that we can leverage to solve this problem
  2. We need to collect together any other bits of code that people are currently using to implement this
  3. We need to define priorities, see what's easy and therefore scope what would could go into a first release
  4. We need someone/a couple of people to volunteer to implement a simple first release
    • I would but I am supposed to be studying, (just can't kick this TWikiAddiction)

Thoughts?

-- MartinCleaver - 16 Apr 2003

TWikiSDKAddOn is an implementation of the ideas presented here. It's based on the TWikiShellContrib code so it's easy to extend it with the needed commands.

-- RafaelAlvarez - 08 Nov 2004

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2004-11-16 - RafaelAlvarez
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.