View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0009035 | mantisbt | bugtracker | public | 2008-04-05 04:25 | 2014-01-21 16:25 |
| Reporter | vboctor | Assigned To | |||
| Priority | normal | Severity | feature | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Product Version | 1.1.1 | ||||
| Summary | 0009035: Ability to notify clients when new versions of the project is released | ||||
| Description | It should be possible for installations of projects whose bugs are tracked by a Mantis Bug Tracker (including the Mantis project itself since it is self-hosted) to detect if a newer version is released and if they user should update. It is important to note that:
The clients asking the question (do I need to upgrade?) may be web applications or rich clients. The should be able to query for such information using the SOAP interface of RESTful interface. The reason for the restful support is to avoid a PHP web application taking a dependency on SOAP just to query if a newer version exists. In this case it can be file_get_contents( $t_url ) or use curl to retrieve the necessary information. | ||||
| Tags | No tags attached. | ||||
|
Here is a copy of an IRC discussion between myself and giallu: vboctor> I'm thinking about implementing a way to get the latest version of a project.
|
|
|
The more I think about this issue the more I am convinced we should try to make it as simple as possible. That said, I'm leaning toward this approach: on the administrative side, make a best guess about where a new version should land in the list of versions, but let the user shuffle the order as needed. attach a new property to the versions (I'll name it "channel" hereby, but I'm sure you can find a better name) Channels are ordered and works like the acl thresholds: higher channels can access lower channels In our scenario, we have two channels: stable and development so we could have something like: || version || channel || the query could be something like: latest_version.php?project=xyz¤t=1.1.0&channel=devel latest_version.php?project=xyz¤t=1.1.0rc1&channel=stable sounds like a plan? ;) |
|
|
Please explain the following statement in more details: Here are some more requirements that we should consider / misc. notes. Although they don't all have to be included in v1 of this feature, but we should keep them into consideration.
|
|
|
Channel: stable => ID: 10 the get_latest_version function should use a query returning versions with channel_id <= requested channel_id. In my previous comment, I was just noting this concept is the same we use for ACLs, where we can check if the given user has an access level equal or greater than a reference. I hope this is clearer. if not, ping me :) |
|
|
couple of comments, how do you plan to deal with customizations outside of *_config files? I don't know much about mantis or Plone, but plone's buildout system is great for managing upgrades. Not sure if that is something you could use. |
|