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

feat (progress log) - users can keep track of their learnings and share with other members of SG. #688

Open
wants to merge 16 commits into
base: staging
Choose a base branch
from

Conversation

distalx
Copy link
Member

@distalx distalx commented Oct 23, 2017

Fixes #642

@lpatmo
Copy link
Member

lpatmo commented Oct 27, 2017

@distalx Sorry for the slowness looking at this. I pushed up some styling improvements (more standardized and easier-to-read on-the-page alerts and info boxes, and cursor pointer for edit/delete).

I'm still struggling with naming: does Progress Log sound too serious, and would prevent folks from sharing something they learned or accomplished? If the goal were to get more people to treat this as a note-taking or learning tracker, should we rename it back to something like Learnings or Notes? Screenshots of each of the potential options below:

"Progress Log":
screen shot 2017-10-26 at 11 39 30 pm

"Learning":
screen shot 2017-10-26 at 11 40 07 pm

"Notes":
screen shot 2017-10-26 at 11 40 39 pm

What would you vote for?

Also, general UI feedback welcome -- I'd like to continue to put up the "Please share something you learned or accomplished" reminder, but maybe it should be full width.

@lpatmo
Copy link
Member

lpatmo commented Oct 27, 2017

Also enabled tweeting of progress logs; see b1b6f3d496dc2b5c90479b04c31b5aefe4973da5

Initially the _id of the newly created progress log isn't visible, so I grabbed the latest one matching the title/slug/description in the DB using {sort:{$natural:-1}}.

    var newProgressLog = ProgressLogs.findOne({'title': data.title, 'description': data.description, 'slug': data.slug, 'visibility':{$ne:false}}, {sort:{$natural:-1}})
    tweetLog(newProgressLog);

The tweet will look something like this:
const status = 'New learning logged in the "' + log.study_group.title.truncate(28) + '" group: ' + Meteor.absoluteUrl('log/' + log._id) + ' ' + log.title.truncate(50) + ' #codebuddies';
screen shot 2017-10-26 at 11 32 47 pm

(Feedback on my commits welcome! Thanks.)

@lpatmo
Copy link
Member

lpatmo commented Oct 27, 2017

... and depending on what terminology we decide, the tweet will either say:

Notes logged in the [ ] group: ...
New learning logged in the [ ] group: ...
New log in the [ ] group: ...

@distalx
Copy link
Member Author

distalx commented Oct 27, 2017

Thanks for enabling auto-tweets for logs. Should we add a sort of notice on the log submission modal that this will be tweeted by CB's twitter account?

re: _id

ProgressLogs.insert(progressLog); will return an _id of newly created record.

Very roughly:

const progressLog = {

let progressLog = {
[...]
}
const logId = ProgressLogs.insert(progressLog);

progressLog._id = logId

tweetLog(progressLog);

I've update that.

RE : terminology

I thought that Initially, we are creating this functionality for the organiser or host of the hangout to log the short summery of the hangout, so if some member miss the hangout they can easily catch up with the group by going through these log entries. for that use case progress log or logs both are fine. But if I have to pick from the learnings and notes I'd pick notes because learnings are already being used for #TodayILearned feat.

check(id, String);

let query = new Object();
query['study_group.id'] = id;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason why we're using bracket notation here and dot-notation everywhere else? We should be consistent.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the schema of the progress log is as follows.

{
  _id : String,
  title : String,
  study_group : [Object]
}

So if we want to fetch progress log by a study groups our find query would be against the field study_group.id.

query['study_group.id'] = '22' will result in {study_group.id: "22"}

here JS runs toString() on square brackets so we could use special characters into our keys.
with dot-notation that does not seem to be feasible.

@d3vild06
Copy link
Collaborator

@lpatmo I think notes feels more appropriate to me in this context. That's my vote.

@julianjohannesen
Copy link
Contributor

Hi guys,

A couple of things:

  1. If Learnings are going to be auto-Tweeted, shouldn't there be some sort of disclaimer to that effect? I didn't know that that was a thing until after I entered my learning notes. I'm easy going and I really don't mind, but I can see how this could really piss someone off. Should I log that as an issue?

  2. Personally, I think "Notes" is a bit more inviting than "Progress Log."

  3. It would be really great if the text editor recognized html and markdown. Of course, that's easy for me to say, because I have no idea how difficult it might be to implement something like that. :)

@lpatmo
Copy link
Member

lpatmo commented Feb 1, 2018

@julianjohannesen On #1: It'd be great if you could log an issue on it! Thank you!

On #2: Noted. :)

On #3: 100%. I think we do support wysiwyg here (similar to what you see when you start a hangout).

@sebbel
Copy link
Contributor

sebbel commented Aug 18, 2018

@distalx sup?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants