Jump to content
Ketarin forum

Ketarin 0.9.9.22 beta


floele
 Share

Recommended Posts

This time with multi line editor :)

Also, global variables will be replaced automatically before uploading them to the online database. Note: In the previous versions (< 21), there has been a bug so that the "Share this application" checkbox state was not restored correctly. So if you shared an application, you'll most likely have to set that checkbox one more time with the latest version, so that updates to your application definitions are uploaded.

 

http://ketarin.canneverbe.com/downloads/Ketarin/Ketarin-0.9.9.22.zip

 

I think that this release should be quite close to 1.0 now. Currently, I'd consider importing templates as a further addition. You'd define a template by inserting <placeholder name="..." /> elements, and then Ketarin would ask the user to enter values for those before importing.

Link to comment
Share on other sites

  • Replies 111
  • Created
  • Last Reply

Top Posters In This Topic

Regarding templates. Would it be possible to force the user to update some variables on template creation too ? For example for Firefox Addons you need addon ID.

Another idea would be to allow uploading the templates to online repository (after thorough review though) and show the user these as options when adding new entries.

Link to comment
Share on other sites

I reuploaded 22 now. You can use placeholders like this:

 

<?xml version="1.0" encoding="utf-16"?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <DownloadBeta>Avoid</DownloadBeta>
   <DownloadDate xsi:nil="true" />
   <CanBeShared>true</CanBeShared>
   <ShareApplication>false</ShareApplication>
   <HttpReferer />
   <Variables>
     <item>
       <key>
         <string>version</string>
       </key>
       <value>
         <UrlVariable>
           <VariableType>RegularExpression</VariableType>
           <Regex><title>\|MG\| [a-z| ]+([\d|.| ||-||_|a-z]+)</title></Regex>
           <Url><placeholder name="Application Info Page URL from Major Geeks" /></Url>
           <Name>version</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>redir1</string>
       </key>
       <value>
         <UrlVariable>
           <VariableType>RegularExpression</VariableType>
           <Regex><A href="(downloadget.php\?id=[\d]+&file=[\d][\d]&[a-z]+=[\d|a-z]+)"></Regex>
           <Url><placeholder name="Application Info Page URL from Major Geeks" /></Url>
           <Name>redir1</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>url</string>
       </key>
       <value>
         <UrlVariable>
           <VariableType>RegularExpression</VariableType>
           <Regex>URL=(http://files[\d].majorgeeks.com/files/[\d|a-z]+/[a-z]+/[a-z|\d|_|.]+)"></Regex>
           <Url>http://majorgeeks.com/{redir1}</Url>
           <Name>url</Name>
         </UrlVariable>
       </value>
     </item>
   </Variables>
   <ExecuteCommand />
   <Category></Category>
   <SourceType>FixedUrl</SourceType>
   <DeletePreviousFile>false</DeletePreviousFile>
   <Enabled>true</Enabled>
   <FileHippoId />
   <LastUpdated xsi:nil="true" />
   <TargetPath>C:\DownLoad\Latest DownLoads\[iNSERT SUB-PATH HERE]\[iNSERT NAMING PREFERENCE HERE].[iNSERT FILE EXTENSION HERE]</TargetPath>
   <FixedDownloadUrl>{url}</FixedDownloadUrl>
   <Name><placeholder name="Application name" /></Name>
 </ApplicationJob>
</Jobs>

Link to comment
Share on other sites

This time with multi line editor =)

 

WOW, thanks a lot ! ;) ;) ;) I was right, you do have a C# magic wand ! =)

 

I think that this release should be quite close to 1.0 now.

 

I think enhanced template support, as well as additional command line options, are interesting options... but I don't think I will be using them that much. The process of job creation is very straightforward... For me a WOW factor would be to have multiple mirrors per job, although the workaround is to have several jobs per file.

 

But the WOW factor I really look forward to, is MD5/SHA1 support.

 

Indeed, I'd not so much like MD5 as security measure but rather to prevent corrupted downloads.

http://ketarin.canneverbe.com/forum/viewtopic.php?id=62

 

I'm not the expert here =), but you can do this already! It's rather simple, MD5 and SHA1 checksum for Winrar:

 

rhodu9.png

 

This can be further enhanced with a command line utility that supports MD5/SHA1 comparison, output will be something like "MD5 checksums are the same" or "MD5 checksums are not the same"... and making a variable {md5} or {sha1}... not a big deal, I just didn't look for it. ;)

 

d:\rehash\rehash.exe -none -md5 -sha1 {file} >> {target}\Updates.txt

 

So why the hell do I want MD5/SHA1 support, you ask ?

 

To support real-world file renames. We are all using {appname}_{version}.{url:ext} as a workaround (again !) for file renames, but this is basic renaming. "You may use functions to enhance it, use {variablename:function:argument1:argument2}" - you say, and I reply - "I'm aware of that, but that's no good either". Ketarin can be used to download MUCH MORE than just programs or drivers, say, if you're a lawyer, an engineer, an architect, a medical doctor... and you have to keep an updated database of laws, regulations, catalogs, ebooks, magazines, newspapers, videos... (is this the future or what ?) and you NEED to encode file names with some standards like

2yplpa8.png

 

{appname}_{version}.{url:ext} doesn't work; why should ? =) Ketarin is not a specialized file rename utility and it doesn't need to became one, so you will download dupes. You need MD5/SHA1 support not to, checksums must be verified BEFORE update (before & after to support file renames and to prevent corrupted downloads).

 

Not sure if this respects your EASY-TO-IMPLEMENT requisite... but if this was EASY anyone would do it ! ;)

Edited by FranciscoR
Link to comment
Share on other sites

OK... =), I just don't think Ketarin needs to be some sort of "Swiss Army knife" tool, there's no need to build all sorts or things into Ketarin. There are a lot of tools that work very well as stand-alone apps, but not so many that work well with other 3rd party tools; in general, this is one of the things I like in Ketarin.

 

But for me the {appname}_{version}.{url:ext} workaround is too limited for renames, there are much better tools than Ketarin for renames, my idea is simply that MD5 verification will prevent updating files renamed by Windows / 3rd party tools. I see this problem as a sort of loose end. I fail to see what other alternative you have to solve this. Personally I don't remember the last time I downloaded a corrupted file, and today there are a lot security softwares that has checksums routines built-in that will warn you if something goes wrong, so this is hardly a problem for me as a Windows user.

Link to comment
Share on other sites

Sorry, but I don't get it. First you talk about MD5, then you talk about renaming {appname}_{version}.{url:ext} and as far as I can understand, you see some kind of relation there. Please try to explain me what you intend to do with fewer and more concise sentences :P

Link to comment
Share on other sites

You do realize that MD5/SHA1 checksums are in no way unique ? They cannot be used to track renaming because there's a possibility that two absolutely different files will have the same checksums.

While I do agree that Ketarin's renaming may be limited for some uses it work perfectly for what it was built for - maintaining an application distro.

Link to comment
Share on other sites

Well, if two files have the same MD5 or SHA1 hashes, it is actually *highly* unlikely that they have a different content, even though it is possible in theory. CRC is somewhat less reliable though.

 

Maybe, is all you want that Ketarin does not redownload a file after it has been updated and manually renamed?

Link to comment
Share on other sites

Maybe, is all you want that Ketarin does not redownload a file after it has been updated and manually renamed?

 

my idea is simply that MD5 verification will prevent updating files renamed by Windows / 3rd party tools

 

So why the hell do I want MD5/SHA1 support, you ask ? To support real-world file renames.

 

Busy sunday, he ? Aleluia ! =)

 

You do realize that MD5/SHA1 checksums are in no way unique ? They cannot be used to track renaming because there's a possibility that two absolutely different files will have the same checksums.

 

Do you have a better suggestion ? Do you mind sharing ? =)

 

While I do agree that Ketarin's renaming may be limited for some uses it work perfectly for what it was built for - maintaining an application distro.

 

Why should we use Ketarin ONLY as an application distro updater ? For me Ketarin is a general purpose updater, not a strict application distro updater. ;)

Link to comment
Share on other sites

my idea is simply that MD5 verification will prevent updating files renamed by Windows / 3rd party tools

 

So...if that is what you want to do, don't you have anything you need?

You could just use some if...then...else stuff as command (using variables scraped by Ketarin, like an MD5 value) and let your 3rd party tools do whatever is necessary. Or am I missing something here?

I certainly don't mind if Ketarin is more versatile in the end than intended, but I'm a programmer so you should use more straight talk ;)

Link to comment
Share on other sites

Do you have a better suggestion ? Do you mind sharing ? =)

A batch script which after renaming will update app's last known location in the database ?

 

Why should we use Ketarin ONLY as an application distro updater ? For me Ketarin is a general purpose updater, not a strict application distro updater. ;)

Well, if an application was designed for the task of updating apps and not as a general purpose updater you can't really expect it to have all the features of Swiss Army Knife Updater. While useful for a few this additional functionality (and I'm talking in general here, not about MD5/SHA1) would mean more confusion/bloat for the others.

Link to comment
Share on other sites

would mean more confusion/bloat for the others.

 

It'll be fine though as long as it are improvements "unter the hood" and no features that clutter the GUI. If small changes open up a whole new range of possibilities, I'm open to it ;)

Link to comment
Share on other sites

Well, if an application was designed for the task of updating apps and not as a general purpose updater you can't really expect it to have all the features of Swiss Army Knife Updater. While useful for a few this additional functionality (and I'm talking in general here, not about MD5/SHA1) would mean more confusion/bloat for the others.

 

I just don't think Ketarin needs to be some sort of "Swiss Army knife" tool

 

I fail to see what additional functionality are you talking about, I am only asking for regular file renaming support. I don't see how could this "mean more confusion/bloat for the others", there's no new features to Ketarin suggested.

 

A batch script which after renaming will update app's last known location in the database ?

This is another workaround but could solve problem; Although I am not sure if I know how to do it, my point is: will the renamed file in {target} folder be updated ? (this is what I want to avoid)

 

am I missing something here?

I think so... but now I'm the one who doesn't understand you. Can you give an example ? =)

 

If small changes open up a whole new range of possibilities, I'm open to it ;)

@Stalker: This is how you see the class of a developer.

Edited by FranciscoR
Link to comment
Share on other sites

So....you want that if an arbitrary application renames a file after it has been updated, Ketarin does not download it again? If so, there'd have to be a way to let Ketarin know about the new location. Going through all files in the folder and checking their MD5s is not efficient.

Link to comment
Share on other sites

That exactly why I have suggested a batch script which updates DB entries.

will the renamed file in {target} folder be updated ?

No, the idea is that after renaming the file with some 3rd party tool you modify the "last know location" entry in the database to point to the new file.

Of course there's also a possibility to make it like uTorrent. When the file is not found it shows that it's missing and you have to locate it manually which will trigger a has check. The obvious con of this method that it's neither a small change nor automatic.

Link to comment
Share on other sites

OK, lets try Stalker idea with location, using a small example each one can reproduce.

 

1. Add a new application called Ccleaner(2).

2. In the FilehippoID field I insert "ccleaner",

3. In Download Location I insert "{target}"

4. Perform update.

5. After update press F2 and rename file to Ccleaner_ABC_123_2009-01-15.exe (let's forget 3rd party renaming tools to narrow discussion)

6. When I press update again, file is updated once again although it was only renamed - this is the problem.

 

7. Let's rename the updated file once again to "Ccleaner_ABC_123_2009-01-15.exe" and export XML into Notepad.

 

<?xml version="1.0" encoding="utf-16"?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="ec07472a-d864-42fb-890c-51b113602073">
   <DownloadBeta>Default</DownloadBeta>
   <DownloadDate xsi:nil="true" />
   <VariableChangeIndicator />
   <CanBeShared>false</CanBeShared>
   <ShareApplication>false</ShareApplication>
   <HttpReferer />
   <Variables />
   <ExecuteCommand />
   <Category />
   <SourceType>FileHippo</SourceType>
   <PreviousLocation>D:\Programas\Ccleaner_ABC_123_2009-01-15.exe</PreviousLocation>
   <DeletePreviousFile>true</DeletePreviousFile>
   <Enabled>true</Enabled>
   <FileHippoId>ccleaner</FileHippoId>
   <LastUpdated>2009-01-19T13:47:29.0430903+00:00</LastUpdated>
   <TargetPath>{target}\</TargetPath>
   <FixedDownloadUrl>http://ketarin.canneverbe.com/download</FixedDownloadUrl>
   <Name>Ccleaner(2)</Name>
 </ApplicationJob>
</Jobs>

 

<PreviousLocation> is correct and updated in DB: D:\Programas\Ccleaner_ABC_123_2009-01-15.exe, what should I update ?

 

 

PS.: I'm a bit busy today so I have to get back later. ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.