resume-schema icon indicating copy to clipboard operation
resume-schema copied to clipboard

Allow endDate to be omitted or set to "present"

Open joebobmiles opened this issue 4 years ago • 4 comments

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.

joebobmiles avatar Feb 12 '21 17:02 joebobmiles

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 😄

nkhil avatar Feb 22 '21 23:02 nkhil

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.

nkhil avatar Feb 23 '21 00:02 nkhil

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.

jamesliudotcc avatar Aug 04 '21 03:08 jamesliudotcc

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 avatar Aug 06 '21 22:08 SethFalco

@SethFalco said it correct. Most current themes just look for the omission of the property (which is allowed), closing this thread for now.

thomasdavis avatar May 15 '23 11:05 thomasdavis

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.

SethFalco avatar May 15 '23 11:05 SethFalco

@thomasdavis Ahh, actually, I see you archived the repo for the website. What's the plan for maintaining/hosting jsonresume.org then?

SethFalco avatar May 15 '23 11:05 SethFalco

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/

thomasdavis avatar May 15 '23 12:05 thomasdavis

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.

SethFalco avatar May 22 '23 18:05 SethFalco