floele Posted January 17, 2009 Report Share Posted January 17, 2009 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 More sharing options...
Stalker Posted January 17, 2009 Report Share Posted January 17, 2009 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 More sharing options...
floele Posted January 17, 2009 Author Report Share Posted January 17, 2009 Template creation? Currently, you'll have to do it manually anyway. I'd rather not want templates within the online database, there'd have to be a separate place. The forum should be fine for now. Link to comment Share on other sites More sharing options...
Stalker Posted January 17, 2009 Report Share Posted January 17, 2009 Template creation? Currently, you'll have to do it manually anyway. I mean creating a new job entry from templates. Link to comment Share on other sites More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 Well, then that's what the placeholders were meant for Link to comment Share on other sites More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 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 More sharing options...
Stalker Posted January 18, 2009 Report Share Posted January 18, 2009 Shiny ! Thanks. Link to comment Share on other sites More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 (edited) 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: 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 {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 January 20, 2009 by FranciscoR Link to comment Share on other sites More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 Sorry, but I'm not currently sure anymore what "MD5 support" means to you. For me it is just "if hashes do not match, show an error". No more, no less. Link to comment Share on other sites More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 I thought so =)... you can do that with command line already, using a third party tool to calculate/verify checksums. Link to comment Share on other sites More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 Yes, you can, but it's not convenient. Does it mean anything else to you? Link to comment Share on other sites More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 Not convenient why ? File is not corrupted ? Link to comment Share on other sites More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 It's not convenient to get yourself 3rd party tools and try to create that functionality manually. Link to comment Share on other sites More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 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 More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 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 Link to comment Share on other sites More sharing options...
Stalker Posted January 18, 2009 Report Share Posted January 18, 2009 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 More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 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 More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 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 More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 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 More sharing options...
Stalker Posted January 18, 2009 Report Share Posted January 18, 2009 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 More sharing options...
floele Posted January 18, 2009 Author Report Share Posted January 18, 2009 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 More sharing options...
FranciscoR Posted January 18, 2009 Report Share Posted January 18, 2009 (edited) 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 January 18, 2009 by FranciscoR Link to comment Share on other sites More sharing options...
floele Posted January 19, 2009 Author Report Share Posted January 19, 2009 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 More sharing options...
Stalker Posted January 19, 2009 Report Share Posted January 19, 2009 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 More sharing options...
FranciscoR Posted January 19, 2009 Report Share Posted January 19, 2009 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now