Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change how we do CKAN metadata versioning. #229

Closed
pjf opened this issue Nov 1, 2014 · 2 comments · Fixed by #311
Closed

Change how we do CKAN metadata versioning. #229

pjf opened this issue Nov 1, 2014 · 2 comments · Fixed by #311
Assignees
Labels
Policy Issues with our policy Spec Issues affecting the spec

Comments

@pjf
Copy link
Member

pjf commented Nov 1, 2014

Right now we have a mandatory spec_version field, which is always 1. It has never been updated, and I don't think it's really fulfilling its intended purpose.

I think we should change this to specify the minimum version of the ckan.dll required for the file to operate correctly. This means that:

  • We can push new files to CKAN-meta without worrying about old clients.
  • We can push metadata before the code for it has been written, which is useful if the spec has been updated but the code has not.
  • We can have our validators ignore any files which are written for a future spec.

Clients should ignore metadata for versions higher than themselves. Dev clients may (and probably will) accept future versions, which means we can do testing.

The downside is that we're now targeting a version of code rather than a version of the spec. However the code and the spec live in the same repository and share the same tags, so I don't imagine this will be a problem for some time. In most cases, we want to encourage people to write documents for the minimum ckan.dll version that will support them. (On release, we'll encourage everyone to target 1.0)

@Wizarth
Copy link
Contributor

Wizarth commented Nov 1, 2014

Do we have the ability to do side by side versions of the dll? Probably not
worth the effort though, of trying to support old spec definitions.

Idea put on table, dismissed.
On 01/11/2014 5:28 PM, "Paul Fenwick" notifications@github.com wrote:

Right now we have a mandatory spec_version field, which is always 1. It
has never been updated, and I don't think it's really fulfilling its
intended purpose.

I think we should change this to specify the minimum version of the
ckan.dll required for the file to operate correctly. This means that:

  • We can push new files to CKAN-meta without worrying about old
    clients.
  • We can push metadata before the code for it has been written, which
    is useful if the spec has been updated but the code has not.
  • We can have our validators ignore any files which are written for
    a future spec.

Clients should ignore metadata for versions higher than themselves. Dev
clients may (and probably will) accept future versions, which means we
can do testing.

The downside is that we're now targeting a version of code rather than a
version of the spec. However the code and the spec live in the same
repository and share the same tags, so I don't imagine this will be a
problem for some time. In most cases, we want to encourage people to write
documents for the minimum ckan.dll version that will support them. (On
release, we'll encourage everyone to target 1.0)


Reply to this email directly or view it on GitHub
#229.

@pjf pjf added Policy Issues with our policy Spec Issues affecting the spec labels Nov 2, 2014
@pjf
Copy link
Member Author

pjf commented Nov 2, 2014

We don't have the ability to do side-by-side copies. However if you're running v1.12, that should be able to read v1.02 files just fine. This is mainly intended so we can extend the spec sensibly, with things like #11, #223, etc.

@pjf pjf added the ★★☆ label Nov 2, 2014
@pjf pjf added this to the v1.00 - Usable Release milestone Nov 8, 2014
@pjf pjf added In progress We're still working on this and removed ★★☆ labels Nov 10, 2014
@pjf pjf self-assigned this Nov 10, 2014
pjf added a commit to pjf/CKAN that referenced this issue Nov 10, 2014
If we have validation errors with metadata, we just skip that file and
move on. This allows us to read from repos that have metadata intended
for future clients, while still being able to use the metadata for older
clients.

Closes KSP-CKAN#229.
@AlexanderDzhoganov AlexanderDzhoganov removed the In progress We're still working on this label Nov 10, 2014
RichardLake pushed a commit to RichardLake/CKAN that referenced this issue May 30, 2015
If we have validation errors with metadata, we just skip that file and
move on. This allows us to read from repos that have metadata intended
for future clients, while still being able to use the metadata for older
clients.

Closes KSP-CKAN#229.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Policy Issues with our policy Spec Issues affecting the spec
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants