At 3:57 Uhr +0200 02.04.2005, Frederico Muñoz wrote:
I then found out about your Shovel.app, and I
think that the concept is the same. I'm not
familiar with PAD or MacPAD. I'm totally outside
of the shareware world so this mechanisms are
alien to me. I tried to find some real
information on MacPAD but I must admit that I
got lost really quickly amidst the .sitx and
.dmg of "SDK" files.
Could you perhaps point me to some good resouce
with real details on implementation? Take in
consideration that I can't see actual code under
any non-free licence (and non-free for me is
what is non-free for the FSF).
I'm not saying I will implement it, but it could
be an interesting thing to support...
Well, I thought the MacPAD stuff was BSDed or
something, but I can't seem to find the license
in the newest SDK anymore, so let me give you a
general overview, and provide you two example
files from my own apps (i.e. with permission):
MacPAD files are XML Property List files (like
Cocoa generates/accepts them), containing
information about a particular application. This
includes a download URL, current version number,
bundle identifier, short and long descriptions
and release notes, as well as some other info.
Not unlike an RSS feed, MacPAD files are stored
on a web server somewhere and kept current by the
application developer. In every application
package, there is a MacPAD.url file (which is
usually structured like a Windows Internet
Shortcut file), containing the URL of the MacPAD
file for this application.
Update checkers can now simply download the
MacPAD file from that URL, compare the version
numbers and determine whether it's current, and
then open the product web site or download the
file from the specified download URL. Web sites
can extract the MacPAD URL from the application
and thus easily add it to their list of files.
Right now the official version mostly concerns
itself with providing information that is useful
to software download sites such as
macshareware.net, but on Andreas' Wiki at
furrysoft.de, there are some proposed extensions
to help installers, in particular support for
authentication so MacPAD can be used to download
paid updates or updates that require registration
keys.
A sample MacPAD.url file would be:
[InternetShortcut]
URL=http://www.zathras.de/new_versions/com.ulikusterer.Shovel.plist
<<<
A sample MacPAD file would be:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD
PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>companyCountry</key>
<string>Germany</string>
<key>companyName</key>
<string>M. Uli Kusterer</string>
<key>fileBundleID</key>
<string>com.ulikusterer.valueconverter</string>
<key>fileReleaseDateD</key>
<integer>26</integer>
<key>fileReleaseDateM</key>
<integer>11</integer>
<key>fileReleaseDateOffset</key>
<string>+1:00</string>
<key>fileReleaseDateY</key>
<integer>2004</integer>
<key>fileType</key>
<string>APPL</string>
<key>padLocale</key>
<string>en</string>
<key>padVersion</key>
<string>4</string>
<key>productDescLong</key>
<string>This small utility app can
convert between various values and number bases
that programmers commonly need:
- signed long (4 bytes, decimal)
- unsigned long (4 bytes, hexadecimal, decimal, octal, binary)
- signed short (decimal)
- signed byte (decimal)
- four-char-code (4 characters, 2 characters, 1 character)
- bit field (up to four bytes as checkboxes
If you've used Resorcerer's value converter, you
should have an idea what this app does.</string>
<key>productDescShort</key>
<string>A small programmers' utility for
converting between various values.</string>
<key>productDownloadURL</key>
<array>
<string>http://www.zathras.de/programming/apps/ValueConverter.zip</string>
</array>
<key>productIconURL</key>
<string>http://www.zathras.de/new_versions/ValueConverter.png</string>
<key>productKeywords</key>
<array>
<string>value</string>
<string>converter</string>
<string>programming</string>
<string>signed</string>
<string>unsigned</string>
<string>long</string>
<string>short</string>
<string>byte</string>
<string>binary</string>
<string>hexadecimal</string>
<string>octal</string>
<string>decimal</string>
<string>conversion</string>
<string>fourcharcode</string>
<string>file type</string>
<string>file creator</string>
<string>bit field</string>
</array>
<key>productLicense</key>
<string>Freeware</string>
<key>productName</key>
<string>ValueConverter</string>
<key>productOS</key>
<array>
<string>10.2</string>
</array>
<key>productPageURL</key>
<string>http://www.zathras.de/programming/macapplications.htm</string>
<key>productReleaseNotes</key>
<string>Added some preferences, now also
displays float values.</string>
<key>productVersion</key>
<string>1.0.3</string>
</dict>
</plist>
<<<
--
Cheers,
M. Uli Kusterer
------------------------------------------------------------
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de