Dynamic Update System
5 posters
:: The Suite :: Development
Page 1 of 2
Page 1 of 2 • 1, 2
Dynamic Update System
It's long time that I'd like to create a system to manage single software updates and many users have requested it. I know it is one of the most useful features of this kind of projects, but it's also one of the most complex to create. This is because of I prefer to work to improve other aspects of the project before it. But now I'd like to start to design this tool and to do it I'd like to receive also your advices and your help.
First of all I need to design logical structures and operations of this tool (any advice is welcome)..
First of all I need to design logical structures and operations of this tool (any advice is welcome)..
Last edited by Lupo73 on Sat Mar 28, 2009 1:35 pm; edited 1 time in total
Re: Dynamic Update System
The PortableApps.com Updater pages can provide some ideas for the Dynamic Update System tool:
http://portableapps.com/node/12040
http://portableapps.com/node/16779
http://portableapps.com/node/12040
http://portableapps.com/node/16779
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
WinPackMan - Windows Package Manager
You are welcome!
Maybe you can use the source code from another project, the WinPackMan, which now is closed.
Screenshot:
http://sourceforge.net/project/screenshots.php?group_id=158703
Windows binaries and Source code:
http://sourceforge.net/project/showfiles.php?group_id=158703
If this is useful for your project, you may want to contact the author of WinPackMan using the e-mail address from the closed project website: http://winpackman.org/
Maybe you can use the source code from another project, the WinPackMan, which now is closed.
Screenshot:
http://sourceforge.net/project/screenshots.php?group_id=158703
Windows binaries and Source code:
http://sourceforge.net/project/showfiles.php?group_id=158703
If this is useful for your project, you may want to contact the author of WinPackMan using the e-mail address from the closed project website: http://winpackman.org/
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
Thanks for your advices.. I have tried to create the GUI of this tool, that I have decided to name Manage Apps feature.
It is only a first test of gui, not the final one.. and in particular it is not functional yet (it is only the graphics) and it will be not available in the next Suite release.
It is a first test, because all advices to improve it are welcome.. and I'm working to define how it will work.
It is only a first test of gui, not the final one.. and in particular it is not functional yet (it is only the graphics) and it will be not available in the next Suite release.
It is a first test, because all advices to improve it are welcome.. and I'm working to define how it will work.
Re: Dynamic Update System
I have developed some features of this tool and made some changes to the GUI.. this is a screenshot of it:
Other freeware created for software updates
I like your Keep It Small and Simple (KISS) approach to software design
However, you may find some useful ideas for your project (automatic updates notification, install applications/updates without intervention, show the required disk space for updates) from other freeware created for software updates:
LiberKey Creator - included in the LiberKey portable software suite (a French project, seems like a twin for Lupo PenSuite)
Website: http://www.liberkey.com/en/
Screenshot: http://www.liberkey.com/images/stories/homeimg/update_en.jpg
SUMo - Software Update Monitor
Website: http://www.kcsoftwares.com/index.php?sumo
Screenshot: http://www.kcsoftwares.com/images/SUMo_screen.png
FileHippo.com Update Checker
Website: http://www.filehippo.com/updatechecker/
Screenshot: http://cache.filehippo.com/img/udc/sshot-1.png
Please note that http://www.filehippo.com/ lists the latest software updates, like http://www.freeware-guide.com/html/updates.html
An interesting article about the Best Free Software Update Monitors is available at
http://www.techsupportalert.com/best-free-software-update-monitor.htm
However, you may find some useful ideas for your project (automatic updates notification, install applications/updates without intervention, show the required disk space for updates) from other freeware created for software updates:
LiberKey Creator - included in the LiberKey portable software suite (a French project, seems like a twin for Lupo PenSuite)
Website: http://www.liberkey.com/en/
Screenshot: http://www.liberkey.com/images/stories/homeimg/update_en.jpg
SUMo - Software Update Monitor
Website: http://www.kcsoftwares.com/index.php?sumo
Screenshot: http://www.kcsoftwares.com/images/SUMo_screen.png
FileHippo.com Update Checker
Website: http://www.filehippo.com/updatechecker/
Screenshot: http://cache.filehippo.com/img/udc/sshot-1.png
Please note that http://www.filehippo.com/ lists the latest software updates, like http://www.freeware-guide.com/html/updates.html
An interesting article about the Best Free Software Update Monitors is available at
http://www.techsupportalert.com/best-free-software-update-monitor.htm
Last edited by Alexio on Mon Mar 30, 2009 8:31 am; edited 2 times in total (Reason for editing : List of the features: automatic updates notification, install applications/updates without intervention, show the required disk space for updates)
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
Thanks for your advices. The LiberKey checker is very good, I'd like to create something like that but I'm not able to do a so rich tool (unfortunately I'm not a so expert programmer ). Obviously if someone can help me or have the source code of the LiberKey tool, we can try to create a more powerful software.
LiberKey is a good project in some aspects, but not so collaborative.. and I saw also with some license problems. When they started, I wrote them to propose a collaboration..
Anyway, I'll try to work on this feature in my free time.
LiberKey is a good project in some aspects, but not so collaborative.. and I saw also with some license problems. When they started, I wrote them to propose a collaboration..
Anyway, I'll try to work on this feature in my free time.
Various Open Source Implementations
Lupo73 wrote:Obviously if someone can help me or have the source code [...], we can try to create a more powerful software.
You can try to contact the authors of some open-source projects:
Updater G
Website: http://www.updater-g.tk/
Screenshots: http://sourceforge.net/project/screenshots.php?group_id=252116
Description: For all developers. Add update feature to your programs with this very simple program.
windows-get
Website: http://windows-get.sourceforge.net/
Screenshots: http://sourceforge.net/project/screenshots.php?group_id=154283
Description: win-get is an automated install system and software repository for Microsoft Windows. The ideas for its creation come from apt-get and other related tools for the *nix platforms.
WPM - A Windows Package Manager
Website: http://blacken.superbusnet.com/oss/wpm/
Screenshots: n/a
Description: The Windows Package Manager project is an effort designed to bring end users a simple, seamless installation of Free and Open Source software. We're bringing F/OSS to Joe Average.
TGUP - The Great Unattended Project
Website: http://www.tgup.net/
Screenshots: http://sourceforge.net/project/screenshots.php?group_id=177037
Description: The Solution for Windows Silent Software Installation. The Great Unattended Project - TGUP is an executable Package that downloads and installs latest versions of commonly-used freeware silently or manually in sequence and sorts them into the Start Menu.
JackGet
Website: http://sourceforge.net/projects/jackget/
Screenshots: http://sourceforge.net/project/screenshots.php?group_id=186319&ssid=50357
Description: JackGet is a program that lets the user download his preferred programs. If you install a Windows Operating system, you will likely still have to install all your preferred software, and that takes time. Jackget downloads and deploys software for you.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
One More for the List
I hope you will get some answers and help for your project!
I add my early recommendation for the list of authors to contact:
WinPackMan - Windows Package Manager
Website: http://winpackman.org/ (the author's e-mail address is listed there)
Screenshot: http://sourceforge.net/project/screenshots.php?group_id=158703
Description: Software which allows for a user to manage installed software on a computer and download/install software. All software listed in the database is free (monetarily), allowing people to discover free software that they would not otherwise find.
I add my early recommendation for the list of authors to contact:
WinPackMan - Windows Package Manager
Website: http://winpackman.org/ (the author's e-mail address is listed there)
Screenshot: http://sourceforge.net/project/screenshots.php?group_id=158703
Description: Software which allows for a user to manage installed software on a computer and download/install software. All software listed in the database is free (monetarily), allowing people to discover free software that they would not otherwise find.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
I have tried to make some improvement to this tool, that now show the size of each application and the group ("type", that is the folder where is placed). Now, at the end of the checking, the tool automatically select apps that has updates available. Any feature request?
Feature Requests
Lupo73 wrote:Now, at the end of the checking, the tool automatically select apps that has updates available. Any feature request?
1. Easy sortable tables: allows you to sort the rows of a table by the data in any column, simply by clicking on the header for that column. For an example written in JavaScript see http://www.allmyscripts.com/Table_Sort/index.html (code with the GPL 3.0 License)
Also, the option to change the position of the columns by "drag and drop" would be nice: http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/test_grid_column_reorder.html
2. More information about each selected Software: Description, Rating, License and Links. This kind of information could be presented as a tooltip or by adding a link for each Software name to the pages on your website. As an example, for 7-Zip Plus there is the link http://www.lupopensuite.com/db/7-zipplus.htm
3. Automatic updates for the language files for each Software.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
1. At the moment I have had some problems to implement this feature, but I know it is useful and I'd like to implement it later.
2. I don't know if add other info, because the aim of this tool is only to update or remove included apps, not to download additional apps available. So I think more info are not really needed. I could add more info eventually in future, if I'll decide to improve this tool as a complex apps manager (but I don't have enough time to do it now).
3. This is one of the big problems I have to resolve now, because managing single language files for each application needs to create a quite complex system (any advice is welcome).
2. I don't know if add other info, because the aim of this tool is only to update or remove included apps, not to download additional apps available. So I think more info are not really needed. I could add more info eventually in future, if I'll decide to improve this tool as a complex apps manager (but I don't have enough time to do it now).
3. This is one of the big problems I have to resolve now, because managing single language files for each application needs to create a quite complex system (any advice is welcome).
Language Packs
Lupo73 wrote:3. This is one of the big problems I have to resolve now, because managing single language files for each application needs to create a quite complex system (any advice is welcome).
First of all it would be nice to have a tool for editing the language files because sometimes it may be useful:
LangPack Translator (Version 1.2.5 Portable)
Website: http://xoomer.virgilio.it/a.sestante/software/lptrans/index.htm
Screenshots: http://xoomer.virgilio.it/a.sestante/software/lptrans/screenshots.htm
Description: LangPack Translator is an editor (and not an automatic translator) of Language Files structured like standard INI Files. Simple to use, it is very powerful for maintenance releases of existing files.
To update the language packs there may be a few options:
1. For the chosen language, the easiest implementation is to automatically download the package with all the updated translations for each release of the Lupo PenSuite from http://www.lupopensuite.com/suite.htm
2. Because a language file depends on the version of the software, it may be a solution to include in each updated software package (archive to be downloaded and ¨installed¨) all the updated language files. When a software is updated, all the language files are included in the update to be downloaded. However, there is some work to include all the updated language files (these files are usually available from the official website of each software) in each file to be downloaded and this may slightly increase the file size.
3. For each software there is a more complicated solution to show the available languages in the update tool and to download the files with the translations as needed. This also means a lot of work to keep updating some separate packages with language files.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
The tool for editing language files is quite hard to create and it's also limited to developers and only a few users, so it isn't really needed (in particular at the moment). You can help me to create a ToDo list for the "Manage Apps" tool, ordered by importance (in these future months I'll haven't so much time to work on it, so I have to decide what are the essential features to start to implement).
To update also the selected language during the application update, the problem is that doesn't exist a standard for language files, so each app have its language files in a particular folder (or in the main folder of the app) and languages are named differently for each app (some with the full language name, others with abbreviations like en_GB, es_PT ecc). So it's quite hard manage them, because for each app I have to set different parameters to manage languages.
An alternative is to download the full language pack of each app, and then the user can remove languages unused if he wants.
I need to find the best solution, that works fine but also not too complex to implement.
To update also the selected language during the application update, the problem is that doesn't exist a standard for language files, so each app have its language files in a particular folder (or in the main folder of the app) and languages are named differently for each app (some with the full language name, others with abbreviations like en_GB, es_PT ecc). So it's quite hard manage them, because for each app I have to set different parameters to manage languages.
An alternative is to download the full language pack of each app, and then the user can remove languages unused if he wants.
I need to find the best solution, that works fine but also not too complex to implement.
“Getting Things Done”
Lupo73 wrote:You can help me to create a ToDo list for the "Manage Apps" tool, ordered by importance (in these future months I'll haven't so much time to work on it, so I have to decide what are the essential features to start to implement).
I think that a very good solution to create and manage ToDo lists for your projects is available at http://www.dcubed.ca/Welcome_to_d-cubed.html
The software used to manage the information is a portable wiki, actually a simple HTML file which contains some JavaScript code and you can get free hosting for d-cubed at http://tiddlyspot.com/
The files hosted on TiddlySpot can be made public or private, it is the choice of the user.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
An advanced open-source tool for editing language files
Lupo73 wrote:The tool for editing language files is quite hard to create and it's also limited to developers and only a few users, so it isn't really needed (in particular at the moment).
Here it is an advanced open-source tool that works well with the language files found in the Developers package:
Ini Translator (open-source, MPL 1.1 license)
Website: http://initranslator.sourceforge.net/
Description: Ini Translator is a utility program to translate ini-style language files and has a look and feel reminiscent of poEdit (a great language editor for gnu gettext files). Ini-style language files are pretty common in Windows and are used by programs like Inno Setup, ISTool, FlashGet and Wallpaper Sequencer to name a few. The program runs of Windows 98/Me/XP/2000/Vista and Linux.
This software could be made portable and would be a useful tool for all software translators.
Alexio- Number of posts : 13
Location : EU
Registration date : 2009-03-05
Re: Dynamic Update System
The updater tool is still under development.. Most of the base structure is ready and may be available as BETA feature from the next Suite release. If someone is interested in helping us with tests, I could consider to release also a pre-beta version for development. This is a screenshot of it:
Re: Dynamic Update System
1. I'm interested in helping with testing.
2. There's also the OSS tool http://www.nabber.org/projects/appupdater/ that might prove some useful example code.
And a program that does software updating specifically for portable software. I can't determine if the code is available.
http://www.whatsmypass.com/tech-toolkit-10
Here's a whole bunch of other update programs ...
http://www.portablefreeware.com/forums/viewtopic.php?f=2&t=4469
3. As for todolists and wikis, I've been using SourceForge's todolist tools and MediaWiki with some success. There are a wide variety of collaborative development tools out there that might help with this.
4. Wish list: As far as I can tell, an update tool should have
* Even basic compression to save on bandwidth
* More than just one location to download a file (ability to pull from a mirror, maybe automatically)
* Should also behave as a notify system to let users know there is an update available
* Someone to monitor the official list of files to make sure that updates are tested, managed and distributed.
* Testing to make sure updates don't overwrite custom files and settings
2. There's also the OSS tool http://www.nabber.org/projects/appupdater/ that might prove some useful example code.
And a program that does software updating specifically for portable software. I can't determine if the code is available.
http://www.whatsmypass.com/tech-toolkit-10
Here's a whole bunch of other update programs ...
http://www.portablefreeware.com/forums/viewtopic.php?f=2&t=4469
3. As for todolists and wikis, I've been using SourceForge's todolist tools and MediaWiki with some success. There are a wide variety of collaborative development tools out there that might help with this.
4. Wish list: As far as I can tell, an update tool should have
* Even basic compression to save on bandwidth
* More than just one location to download a file (ability to pull from a mirror, maybe automatically)
* Should also behave as a notify system to let users know there is an update available
* Someone to monitor the official list of files to make sure that updates are tested, managed and distributed.
* Testing to make sure updates don't overwrite custom files and settings
webfork- Number of posts : 6
Location : US
Registration date : 2009-08-25
Re: Dynamic Update System
Thanks for these links, I'll try them. You can also help me to plan and think improvements for my updater. I'm working on this tool in particular in these weeks.. and now the tool works fine and does the most important operations needed:
- it allow to check portable software stored on my website and automatically update apps
- it allow to remove apps unwanted from the Suite (from the disk and from the Suite menu)
- it allow to set the auto-checking for updates at the Suite startup
- it allow to set the mode of updating, between "With backup" and "On-the-fly" (the backup mode store old software versions in a temporary folder, allowing to eventually recover them)
In future I'd like to add:
- support also of external software updates (for example from portableapps.com, if someone can help me to create this feature)
- proxy support
- improvements to the procedure of update (for example an automatic software restoring if the update fails)
- visualization of software icons for a more user-friendly GUI
- visualization of more info for each software with a right-click menu on any item
- any other request?
- it allow to check portable software stored on my website and automatically update apps
- it allow to remove apps unwanted from the Suite (from the disk and from the Suite menu)
- it allow to set the auto-checking for updates at the Suite startup
- it allow to set the mode of updating, between "With backup" and "On-the-fly" (the backup mode store old software versions in a temporary folder, allowing to eventually recover them)
In future I'd like to add:
- support also of external software updates (for example from portableapps.com, if someone can help me to create this feature)
- proxy support
- improvements to the procedure of update (for example an automatic software restoring if the update fails)
- visualization of software icons for a more user-friendly GUI
- visualization of more info for each software with a right-click menu on any item
- any other request?
Re: Dynamic Update System
I have added the support of software icons and made some minor improvements, this is a screenshot of the tool during the updates checking:
Feature suggestions
> I have added the support of software icons and made some minor improvements, this is a screenshot of the tool during the updates checking:
Looks sharp. Great work.
> any other request?
I can think of some features that would focus on more novice users.
I can think of a few that should probably be added in version 2, 3, or even 4 of the software (maybe years away). Some of these are pretty ambitious.
Looks sharp. Great work.
> any other request?
I can think of some features that would focus on more novice users.
- * Any errors in download should come up *after* the software update. It shouldn't stop the process and there should be some kind of note about "try again in a few days" or something. In other words, don't let a bad download link interfere with the automated download and install.
* Some kind of progress bar to show how the download is coming along.
* Download more than one at a time or some kind of automatic skip/restart process for downloads that slow to a crawl.
* Pausing and resuming downloads for those who don't have broadband.
I can think of a few that should probably be added in version 2, 3, or even 4 of the software (maybe years away). Some of these are pretty ambitious.
- * Integration into some kind of "Customized Download" distribution so users can make their own portable software distro, similar to the SUSE creation tool: http://news.cnet.com/8301-13505_3-10148796-16.html.
* Ability to change the download location somewhere in the options might be nice. Meaning E:\, Z:\, C:\LUPO etc. This might not be necessary and might confuse some users, but its definitely in keeping with the "portable" angle. Integrated software is frequently easier but inflexible.
* Some type of portable software deployment process, taking John Haller's effort to create a portable platform. In other words, instructions on how other developers can add themselves to Lupo's Update Software
* Distributed network integration (i.e. BitTorrent) -- Downloads would be much faster, much more survivable, and authenticating (since BitTorrent integrates Hash files). Note that some portable software sources won't allow you to distribute their stuff -- its got to come from *their* website or nowhere. Still, for 90% of the apps out there, this will work great.
webfork- Number of posts : 6
Location : US
Registration date : 2009-08-25
Re: Dynamic Update System
A big list of advices.. I'll consider them for the future releases.
The error system is not very invasive, when an update fails in the Update column is added a Failed message and in general there aren't so many errors. Anyway when will be available for all users in the next release, I'll fix and improve it following user opinions.
I'll consider to integrate a progress bar, instead for download system I think couldn't be possible to add pausing/resuming downloads and multiple downloads at the same time (for restrictions in the scripting language that I use).
I'd like also to add the support for portableapps updates and eventually also a tool to install them in the Suite (with paf.exe support). Unfortunately ideas are many more fast that work, so the only way to make good improvements is to find collaborators. But I'll do my best!
The error system is not very invasive, when an update fails in the Update column is added a Failed message and in general there aren't so many errors. Anyway when will be available for all users in the next release, I'll fix and improve it following user opinions.
I'll consider to integrate a progress bar, instead for download system I think couldn't be possible to add pausing/resuming downloads and multiple downloads at the same time (for restrictions in the scripting language that I use).
I'd like also to add the support for portableapps updates and eventually also a tool to install them in the Suite (with paf.exe support). Unfortunately ideas are many more fast that work, so the only way to make good improvements is to find collaborators. But I'll do my best!
Re:Progress
> The error system is not very invasive, when an update fails in the Update column is added a Failed message and in general there aren't so many errors. Anyway when will be available for all users in the next release, I'll fix and improve it following user opinions.
Sounds great. Looking forward to it.
Sounds great. Looking forward to it.
webfork- Number of posts : 6
Location : US
Registration date : 2009-08-25
Page 1 of 2 • 1, 2
:: The Suite :: Development
Page 1 of 2
Permissions in this forum:
You cannot reply to topics in this forum
|
|