-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
annotation tools #2515
annotation tools #2515
Conversation
Is there a date by which this cleanup PR will need to be reviewed/merged? |
@danielcebrian Is this PR ready to review? What is the timeline for all the cleanup requested in #2188? If there are PRs to be reviewed in the next 2 weeks I need to get something on the Studio backlog. |
So you would like a review from me and @cpennington? Anyone else? |
And is there a deadline? |
When is your next scheduled merge? |
@@ -282,6 +282,16 @@ | |||
'css/vendor/jquery.qtip.min.css', | |||
'js/vendor/markitup/skins/simple/style.css', | |||
'js/vendor/markitup/sets/wiki/style.css', | |||
'css/vendor/ova/edx-annotator.css', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know that we went back and forth before on whether or not Studio needs the annotator code. What made you decide that Studio does need it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was on the original plans to include this feature and I was told to try to include it as much as possible. I've actually been running into an issue getting TinyMCE to work with studio (works fine on the LMS) whenever I try to create an annotation, so if you happen to know why that would be, I'd greatly appreciate it. Other than that, it seems like it should work as intended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my note below about 2 versions of tinyMCE being declared. When you are testing your changes, please also try opening an HTML component on the unit page to make sure that our existing usage of tinyMCE has not broken.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, you might be interested in https://github.com/edx/edx-platform/pull/2588. We plan to review that PR in the next 2 weeks, and it will upgrade the version of TinyMCE used by Studio.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that might solve our issue, but that's @danielcebrian territory. Daniel do you know if having the version from #2588 will be okay for us?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are currently using tinymce 4.0.5 and this version should work well, better than the current 3 version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cahrens Will this latest version be good enough to be pushed this week? I've taken out references in the CMS about tinymce and use your old one (it throws an error for now) but I'm guessing once the other pull goes through it will be referenced correctly since we are using requirejs, am I right? |
@lduarte1991 We still need to review the PR (and I imagine @cpennington needs to as well), so it will not be included in this week's push. I don't expect the new version of TinyMCE to magically fix your issue (I haven't had a chance yet to see what it is). But if the usage in CMS is not important, you can wait until after the other PR is merged to debug. After the new version of TinyMCE is merged, do you plan to use that for LMS as well and remove your copy of TinyMCE? |
@cahrens that's unfortunate, but understandable. Totally agree on the TinyMCE issue, just letting you know that the reason we included our version was mainly because the one currently in requirejs is old and daniel gave the okay above, but of course we would need to test it. In that case I can probably add a jasmine test for our notes app as well. In terms of using the new version of TinyMCE, if it works for the CMS there's no reason why it cannot be used in the LMS as well, so absolutely yes. |
@cahrens and @cpennington can this version be included in the merge next week or is there anything that would still need to be changed? If it is merged can the PR remain open for the next push with more fixes or will it have to be closed and a new PR opened (of course we'd still reference #2188 like we did above). |
@@ -1,3 +1,27 @@ | |||
/* | |||
HighlightTags Annotator Plugin v1.0 (https://github.com/lduarte1991/tags-annotator) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the same license that @jtauber was aware of?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, all the Plugins for annotator have the same license (including the new one added this time around called diacritic-annotator.js) and that was conveyed in the email sent to him originally. Both of these were created by me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is acceptable because of the "(at your option) any later version". We can't accept GPLv2 but we can GPLv3.
A TinyMCE update. It turns out that merging the upgrade PR was not completely straightforward, and we will have to schedule the additional work into a future sprint. At this time, there is no estimate of when the work will be completed. |
So does that mean I can't leave it as is for now and just bookmark any problems that may still be in place after the update takes place? |
As long as you are satisfied with the current behavior and there is no negative impact for our TinyMCE usages. I'm hoping to get back to this PR on Monday. |
Sounds good. I removed all offensive items in regards to your TinyMCE usage so it should all be okay. Will @cpennington also have time to look over this PR and thus be part of the merge next week? |
"vjs.youtube": 'js/vendor/ova/vjs.youtube', | ||
"rangeslider": 'js/vendor/ova/rangeslider', | ||
"share-annotator": 'js/vendor/ova/share-annotator', | ||
"tinymce-annotator": 'js/vendor/ova/tinymce.min', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You forgot to remove this tinymce reference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will commit fix in 1 minute. EDIT: Should be fixed now.
Were more changes added to this PR? It's impossible for me to tell what has changed since I last looked at the PR because you squashed the commits together. Here are some suggestions for making the review process easier:
|
@cahrens I have added new functionality to this PR (new image annotation). Sorry if this way was not the best. I can go back to the last commit before the new functionalities. Should I do it? |
> Decided to keep token-input css in main as it deals with stylizing outside the module. Hoping to add token library properly by next push. > Fixed camel case issue for a few functions > Changed over to edx’s version of tinymce and removed our copy
@cahrens @sarina Not sure if either of you is able to help, but the latest commit has an error with iconmoon.eot and I'm assuming that has to do with the fact that I tried to load my own skin (not from the pipeline but from the sass = [] inside of textannotation_module.py) and it cannot find the font file. The issue I did this was because when I was loading the tinymce without that it would show me missing fonts. I think that the Any idea how to deal with that? EDIT: I should clarify that I don't think this was an issue in studio because your tinymce is in a floating box that appears outside the module's area. |
Hi Luis, I don't have a computer handy (at a conference), but I can give some pointers. We spent a lot of time figuring out how to force TinyMCE to use pipelined CSS and font files. This is necessary to get things to behave properly on the CDN on FireFox as well as Chrome. As part of this work, Nimisha disabled TinyMCE's default skin loading code. So I think you will need to check in your skin into the TinyMCE directory and follow the same pattern that we did (using the pipeline). |
Well, actually I am trying to use your skin and not the one we had chosen before and that's what's causing the issues. |
But like i said the |
We are now using the one from PyPI
@lduarte1991 said in #3466 that he is turning this pull request into a series of smaller pull requests. Does that mean that this pull request can be closed? |
@lduarte1991 @danielcebrian can this pull request be closed? |
Yes, I'm sorry. Didn't know the first question was directed at me instead of about me. Absolutely. |
…urses on dashboard view (#34848) * feat: [AXM-24] Update structure for course enrollments API (#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
…urses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py
…urses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
…urses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py lms/djangoapps/mobile_api/users/tests.py
* feat: [AXM-24] Update structure for course enrollments API (#2515) * feat: [AXM-24] Update structure for course enrollments API * style: [AXM-24] Improve code style * fix: [AXM-24] Fix student's latest enrollment filter * feat: [AXM-47] Add course_status field to primary object (#2517) * feat: [AXM-40] add courses progress to enrollment endpoint (#2519) * fix: workaround for staticcollection introduced in e40a01c * feat: [AXM-40] add courses progress to enrollment endpoint * refactor: [AXM-40] add caching to improve performance * refactor: [AXM-40] add progress only for primary course * refactor: [AXM-40] refactor enrollment caching optimization --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (#2522) * feat: [AXM-53] add assertions for primary course * test: [AXM-53] fix tests * style: [AXM-53] change future_assignment default value to None * refactor: [AXM-53] add some optimization for assignments collecting * feat: [AXM-200] Implement user's enrolments status API * style: [AXM-200] Improve code style * refactor: [AXM-200] Divide get method into smaller methods --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>
…urses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py lms/djangoapps/mobile_api/users/tests.py
…urses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py lms/djangoapps/mobile_api/users/tests.py
…ashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py lms/djangoapps/mobile_api/users/tests.py
#44) * feat: Extend mobile API with course progress and primary courses on dashboard view (openedx#34848) * feat: [AXM-24] Update structure for course enrollments API (openedx#2515) --------- Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> * feat: [AXM-53] add assertions for primary course (openedx#2522) --------- Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> * feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (openedx#2546) --------- Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com> Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com> Co-authored-by: monteri <36768631+monteri@users.noreply.github.com> Conflicts: lms/djangoapps/courseware/courses.py lms/djangoapps/mobile_api/users/tests.py * fix: python 3.8 typing fixes --------- Co-authored-by: Kyrylo Kireiev <90455454+KyryloKireiev@users.noreply.github.com> Co-authored-by: Omar Al-Ithawi <i@omardo.com>
To add these components to your course in Studio:
Installing Modules:
Add "notes", "textannotation" and "videoannotation" to advanced_modules in Studio's Advanced Settings. Now on the unit page you can see the Advanced components.
In the same advanced settings. It is necessary to add the annotation backend url and the annotation consumer key.
2.1.) Type a url with the annotation external storage under “annotation_storage_url”
2.2.) Type a consumer key for the annotation external storage under “annotation_token_secret”
Using Modules:
Will also need to specify an annotation_storage_url and token_secret in Advanced Settings. @danielcebrian @lduarte1991 can provide this information.