Ticket #99 (closed task: fixed)

Opened 7 months ago

Last modified 6 weeks ago

Package compatibility metadata

Reported by: psychcf Owned by: jaymacdonald
Priority: blocker Milestone: 1.0
Component: core Version: 1.0-alpha1
Keywords: Cc:

Description

In the metadata of an app, there should be something so that the system can tell weather or not the app is compatible with the installed version.

Change History

Changed 6 months ago by psychcf

  • milestone changed from 1.0-alpha2 to 1.0-vanilla

Changed 6 months ago by psychcf

The first step that I think should be taken was to get the version number in an object so apps can support multiple versions...

desktop.version={
     major: 1,
     minor: 0,
     patch: 0,
     toString: function() {
          return major+"."+minor+"."+patch;
     }
}

so if a method's parameters changed in a future version, you could do this in an app:

if(desktop.version.major == 1) {
     api.someClass.someMethod("someParam", "otherParam");
}
else {
     api.someClass.differentMethod("thatDoes", "the same thing", "but with different params");
}

Changed 3 months ago by psychcf

  • owner changed from psychcf to jaymacdonald

Changed 3 months ago by psychcf

We're going to change this to something involving packages rather then the apps themselves, so apps don't have to detect the version. This way it's easier to maintain the code, it's just a matter of making a new major/minor release that supports the new Lucid version. If the developer wants to continue to support the older version of PD, he'd just make a new minor/patch release for the older version of the app.

Changed 2 months ago by jaymacdonald

  • status changed from new to assigned

I actually nearly finished this, then my system+HDD fucked up. Accepting and (re)starting work...

Changed 2 months ago by psychcf

I saw you committed the new json files, have you finished this at all yet?

Changed 2 months ago by psychcf

  • priority changed from major to blocker

Changed 7 weeks ago by jaymacdonald

Working on it...

Changed 6 weeks ago by jaymacdonald

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in r2137. App compatibility database can be found in desktop.config.isCompatible(). It should be changed to reflect new releases; if 1.0.0 apps are compatible with 1.0.1, for example.

Changed 6 weeks ago by jaymacdonald

*desktop.version.isCompatible()

Changed 6 weeks ago by psychcf

  • status changed from closed to reopened
  • resolution deleted

I saw the changes, and it's a good start. However, there should be something notifying the user that the package may not be compatible with their version. However, they should not be restricted in any way when installing a legacy package, just nudged.

Changed 6 weeks ago by jaymacdonald

  • status changed from reopened to closed
  • resolution set to fixed

Fixed in r2141

Changed 6 weeks ago by psychcf

ok, looks good, I'll translate it.

Note: See TracTickets for help on using tickets.