aopell / schoologyplus Goto Github PK
View Code? Open in Web Editor NEWA web extension that enhances your Schoology experience with numerous interface improvements
Home Page: https://schoologypl.us
License: MIT License
A web extension that enhances your Schoology experience with numerous interface improvements
Home Page: https://schoologypl.us
License: MIT License
Was testing #37 and received an error.
materials.js line 118, Cannot access property 2 of null.
This is likely due to getApiKeys returning (a promise which resolves to) null.
In the current released version, periodless classes on the grades page cause the extension to crash (line 21 grades.js, similar issue occurs on Schoology++).
A feature, potentially via the existing "Course Options" menu, to alias/nickname a course.
This alias should be used in place of the full course title in the user interface.
For instance, where the UI displays MAR DYN PE 2B: TERM AS - PERIOD 5
, an alias could be set to Band (Per. 5)
, and this would replace the long and annoying string throughout the UI.
Potential roadblocks:
innerText
, or doing some string manipulation on top-level innerHTML
.Sometimes the LAUSD firewall will mess with TLS connections to the source of custom icons throughout Schoology Plus (although not always). This leads to image load failing. If this happens the alt text sometimes messes greatly with the UI and is overall a bad thing.
Add a feature, perhaps as a context menu entry, that allows the system to calculate the minimum score on an assignment to maintain the current letter grade. The assignment would have known denominator; in my vision, this step would be after the completion of (for instance) adding an assignment to the grade calculator (meaning no need to have a separate denominator specification interface).
(Firefox, Linux, master).
Course icons are not overridden in the modal that appears on your user profile page when you click "show all" next to courses.
In terms of error-handling, potentially just disable grade editing on that category and/or assignment (depending on if course is weighted or not) instead of nuking the grade display which Schoology has already calculated? The grade is known, it only becomes an issue if editing is employed; adding a grade display (instead of LOADING) without editing (i.e. actively disable editing) is more useful than displaying LOADING and breaking editing.
Created from a comment by @glen3b on #24
This may not be an issue anymore after switching to API retrieval of assignment max points
For maintainability infrastructure files (notifications.json
, update.json
for Firefox, and changelog.md
) have been moved to the gh-pages branch. Relevant references in code need to be changed.
Firefox, Linux, master.
Issue as described in title; the icons are not overridden (but they are in some other contexts).
It appears it cannot find .sections-list
.
Issue as described in the title. There aren't even proper "Loading..." tooltips for documents until assignments have finished getting theirs - which in some cases can take a very long time. This also, if the user starts looking for the document tooltip earlier than this, they might reasonably expect to see a Loading tooltip where it would appear, but they would not.
For course icons, we have a few PNG icons that could be replaced by their SVG equivalents. (Geology comes to mind.) When possible we should do so.
While we're at it, each entry in icons.js should be commented with the following:
More a code style thing than anything else, but worth discussing I think.
The js
folder is getting a bit cluttered, and we're having to pull in more and more libraries. We should consider creating a js/libs
folder (or similar) to logically separate our code from library code.
Sometimes, either because the list is too long or the filter option is changed post-load, the list on the materials page is dynamic (paginated or regenerated). This results in not having tooltips in some cases. There are TODOs in the code that discuss this.
Currently the theme editor does not have a nice UI for icon editing. It would be nice to add one. Probably just as a key (regex)/value (URL) two-column table. Potential components and conerns:
Currently, there's no "proper" way to handle dropped assignments. A way to drop or undrop assignments, perhaps manually via a context menu, would allow more flexibility in grade recalculation.
Meta:
Places to update:
Features:
Cause: links are type-document
in CSS, but their API call attachments
object does not have a files
property even though we assume it to. Better error handling here would be a good thing, but at the very least we must correct for our wrong assumption.
(easy fix, when I get around to it)
Issue:
Calculating minimum grade performs no validation. This leads to the following undesirable cases:
Feature idea.
Allow users to record their own (private, local, visible to nobody else) notes on entities, potentially with an associated icon.
Possible entities on which notes could be taken:
Things to consider:
Sometimes full names are generated by Schoology with a space preceding the colon between course and section names, as in AP ENG LANG A : TERM AF - PER 1
. In these cases, aliases do not properly replace the full names.
If a class has one assignment with no grade (and the course has no grade), the editor crashes after applying changes to category grade but before changing the course (period) grade.
This year in my environment, I cannot see the schedules of classmates, just the number of courses they have. However, I can see class rosters by class. It would be nice to have a button on user profiles to see "courses in common," basically classes that I (the user) and another user have together.
This can be accomplished in one or both of these ways:
Ideally a gradient background to show the color the user is picking
This should, at the very least, not be the default behavior.
Potentially something that should be set on a course-by-course basis
It seems to be an issue with Firefox not supporting event pages. The background page loads when the extension is first installed/updated but appears to unload afterward. The alarm event doesn't fire.
Feature idea. Would perhaps involve some tweaks to the theming engine to make it more general-case.
Schoology with dark theme! Fairly self-explanatory - tweak backgrounds to be dark and foregrounds to be white/light. Unfortunately implementation is likely to be difficult:
Schoology CSS defines colors all over the place. Finding the relevant selectors to override is likely to be difficult, perhaps a task for a codegen tool we write. Not to mention some styling is likely to be done via hard-to-replace images (fortunately, most of the icons are high-color and thus work well with either dark or light theme). And the worst possibility with such a dark theme is missing a section, such that on some page somewhere there's a light theme section in the middle of a dark theme page - meaning we have to be exceptionally thorough for this to look good.
To implement there would probably have to be some tweaks to the theming engine. I'd envision a few additions:
English grade says loading, never had this issue before.
^kinda low quality, let me know if you need anything else.
Grade loading in courses with missing assignments fails and hangs if the API credentials in localStorage are invalid, for instance if the key has been regenerated.
Clicking on the arrow dropdown to the right of the name reliably produces the following error message.
Error: Permission denied to access property "apply"[Learn More]
common-faff65aef3d248da1463.js%20line%201%20%3E%20eval:5:13279
Learn More links to this page.
I have not attempted to reproduce this outside my setup.
Firefox 60.0.1, Arch Linux
Schoology Plus release v3.16
Feature request.
This would allow keeping teacher-defined icons where present, but overriding bad defaults.
This shouldn't be the default because it would likely lead to thematic inconsistency, but it should be an option.
Potential roadblock is determining what a default icon is (unless it's always this one).
Currently, the grades page handling ties very deeply our UI integration and our grade modification and redisplay logic. Ideally, these components (UI patching, grade modification logic, and grade recalculation logic) would all be separate.
Courses in which the user is not currently enrolled do not properly apply aliases.
We should decide if we want to support this case (in which case this enumeration needs to change to include everything) or not (in which case the UI should not permit setting aliases for archived courses).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.