resume-schema
resume-schema copied to clipboard
Allow endDate to be omitted or set to "present"
Piggy backing off of this comment on the v1.0 road map. Seems a bit silly that this was overlooked, but the first thing that goes into work history is usually your current job. Naturally, this does not have an end date, so it is incorrect to provide one.
I would recommend either allowing users to omit the endDate (either with the empty string ""
, undefined
, or null
) or provide the keyword "present". My preference would be to only allow "present"
or undefined
.
Agreed. I'd love for this to added. I'm willing to contribute to this - would I be making a pull request into this repository: https://github.com/jsonresume/resume-schema ?
Thanks 😄
I've got a draft PR set up here to do this: https://github.com/jsonresume/resume-schema/pull/411
This only allows present
as string literal, and does not allow for undefined
as a value. This change (in its current format) will also change the from
property to be set to present
which isn't right. I'm just making this as a draft PR for opinions/interest in it.
I think this is really a documentation problem. It is possible to omit endDate
, and the meaning is clear enough. It would be up to the generators to correctly handle a missing end date.
All properties are already optional as it is. In JSON Schema, it's the required
property that dictates if a property is required or not. It's never used at all in JSON Resume currently.
More info: https://json-schema.org/understanding-json-schema/reference/object.html#required-properties
Unfortunately, the problem mostly lies with theme implementations that don't handle cases where endDate
is undefined. As @jamesliudotcc pointed out, the documentation could be improved to encourage theme developers to treat fields as such.
I won't take any action now, but in my opinion null
/undefined
should be treated as present. I don't think we need a dedicated present
value. (Some themes already do this.)
@SethFalco said it correct. Most current themes just look for the omission of the property (which is allowed), closing this thread for now.
I actually kept this open as I was thinking we could make a page on the website for recommendations when interpreting the JSON file. (… time really flies. ^-^')
i.e.:
- For address, never assume all address fields are there, make an array and join the specified fields with a comma. (For example, I only write
UK
, but some themes render,,,UK,
.) - If endDate isn't present, assume it's an ongoing position.
- Optional but for backward compatibility, consider falling back to the old property names (from pre 1.0.0 release.)
I'll make a separate ticket on the website for this though and think about what else to put.
@thomasdavis Ahh, actually, I see you archived the repo for the website. What's the plan for maintaining/hosting jsonresume.org then?
I've got it setup with https://turbo.build/ hosted on Vercel. The homepage and registry. I will invite you to colab now so you can check it out but not ready to put in the org just yet. In the next couple days, will clean it up, remove secrets I committed and flatten the commits. Just added some silly AI endpoints for fun -> https://jsonresume.org/getting-started/
Closing this as I'm tracking the documentation task on my own. Will get a formal write-up going, and we'll figure out if the advice is agreeable and where to put it.