GithubHelp home page GithubHelp logo

lml / quadbase Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 11.0 4.35 MB

Quadbase.org - Question Banking Made Easy

Home Page: quadbase.org

License: Other

Ruby 58.94% JavaScript 3.32% CSS 2.98% HTML 34.76%

quadbase's People

Contributors

dantemss avatar dcwill avatar joelbaranowski avatar jpslav avatar rlgreen91 avatar sebrittain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quadbase's Issues

error when incorporating extant questions

I derived a copy of a multipart question; I also derived a copy of one of its subquestions. When I tried to add this derived subquestion into the derived multipart question, I got an error that said the intros were different (though they were literally identical).

If I deleted the intro in the derived subquestion, and then deleted everything in the "Common Introduction" of the multipart question, it worked fine.

Make loading of javascript more efficient

Take as many steps as possible to make the loading of javascript more efficient.

This could include steps to help the browser cache the javascript. Also could include things like Google's Closure system for minimizing Javascript.

Implement QTI export and import

We want to be able to import and export QTI formatted questions. (http://en.wikipedia.org/wiki/QTI).

Specifically, we want to be able to:

  1. export individual questions (e.g.something that would trigger a format.qti responder when someone views a question; I don't know exactly how this is triggered, either something in the http header or just having someone get http://quadbase.org/questions/q42v1.qti??)
  2. bulk export questions in qti
  3. bulk import questions in qti

We might want to use something called "QTI Lite". I seem to recall Vic saying something about this. Vic may have the answers to some QTI stuff if you're interested.

This is probably one of the lowest priority tasks in general (so do it last or close to last). Of the three subtasks, exporting is currently more important than importing (it'd be nice to have a good way to dump off the content in quadbase for backup purposes).

Accumulate emails and send once per day

If you are very active on Quadbase (or someone you're working with is very active), you can get a zillion emails from Quadbase. Add a capability to archive messages to be sent once per day (where one email would contain all the little emails that would have gone out in that day).

Inspired by a note from Justin: A nice feature would be to have archived email (i.e. once a day) from QuadBase so you don't get blasted with 30 emails on days like today.

Multipart solutions

When viewing a multipart question (main question), it might be nice if all the solutions of the subquestions were displayed under "solutions."

Make it possible to import HTML code into quadbase

Alot of Georgia Tech's SPQR-formatted content has old math content that is in HTML...we would like access to the questions, but quadbase currently doesn't incorporate HTML.

example: When z = -3 + j4, determine its magnitude.

This should be viewable as latex.

deriving multipart questions--automatically derive subquestions?

It seems like it could be a good idea, when making a copy of the
multipart question, for it to automatically make derived copies of each
of the subquestions too.

For example, I'd like to make a copy of question
https://quadbase.org/questions/q560v1
I'd like to change both the main question, and also make minor
modifications to the sub-questions. But if I want to do that, I need to
copy the main question, then remove all of the (published) subquestions,
then individually copy all of those, make the necessary changes, and
then add those into the main multipart question again.

Licensing agreement when creating a questions

We need to make sure that each time a new question is generated that the user generating the question agrees to the license.

in Connexions they do this:

"New module: License agreement

Connexions requires that all content submitted to our repository be placed under an Open Content license that allows others to use, distribute, and create derivative works based upon that content. The Attribution license from Creative Commons fulfills this requirement, while still allowing authors to receive credit for their efforts. Please take the time to read the license and check the I agree box below before continuing.

I hereby allow Connexions to distribute this content under the terms of the Creative Commons Attribution License available at http://creativecommons.org/licenses/by/3.0/. I understand that in doing so I

  1. retain my copyright in the work and
  2. warrant that I am the author or the owner or have permission to distribute the work in question and
  3. wish this work to be distributed under the terms of that license (including allowing modification of this work and requiring attribution) and
  4. agree that proper attribution of my work is any attribution that includes the authors' names, the title of the work, and the Connexions URL to the work.

I have read the above, and I agree to license this new work under its terms. "

This could be a new page before reaching the editing page.

Print Question?

On the quadbase poster, there is mentioned a feature that quadbase can print...

this feature probably needs to be created...take the question method and convert it into pdf...since it's latex, can we follow that kind of path?

This would be very nice if this can be done by Spring 2012 for experimentation at UTEP? Is this realistic?

add publish button to edit roles page

to increase fluidity of workflow, I think all links on the left side during editing and previewing content should remain the same. But specifically I think we should be able to go straight from editing roles to publishing.

Add button/markup for underlining text

Typically in web applications we avoid underlining arbitrary text b/c it makes that text look like a link.

However, some elementary school teachers recently told me that they have questions like: "What word is a synonym for the underlined word in the following sentence?". It makes sense that early elementary school students won't know what italics or bold are as much as they would underlining.

So add a button to markitup and add markup for underlining text. Go with something standard like double underscores before and after the text, e.g. underline this

Implement Matching questions

Implement matching questions based on the schema image I've sent around previously.

When we go to embed matching questions in other systems (like the PLS), we will want a mechanism for our embedded versions to let users draw lines between matching answers. There are a number of line-drawing JS options out there.

Unit test galore needed on this of course.

The priority of this is low (we want to get other parts working super smoothly first).

Calculated questions

SPQR has an interest in creating a calculated question.

calculated question are one where you have a parameter, and you specify a range, and generate questions for each of those parameters...

and also make the possibility parameterize the functions (???)

look at georgia tech ITS ECE 2025 SPQR module 2: question 3180...

Implement multi-line quick looks

On screens that show question quick looks, allow an option to show the seach results with multiline quick looks (or be able to expand a single question, possibly by hovering over it (like Google's search results))

Standardize error message generation and setting of human attribute names

Right now there are two ways that error messages get put in the attention div. Either through normal loading of the page (and setting of the @errors and @human_field_names) or through setting the flash[:alert] field using get_error_messages (this latter approach is for JS situations).

Standardize the approach to use the first approach, but put the human field names in a common initializer file. This file should contain the human field names for all attributes in the system, with appropriate comments or hash keys so we know where things are coming from. The error display code can then use this common set of nice field names. In the future, this will also help us with internationalizing the site.

One place to look for examples is the Question preview button

Make use of show_none_row_if_needed widespread

Our current baseline often generates a collection variable in a controller for the sole purpose of passing it to js.erb file which checks if it is empty, and if so, the js shows a "none" row in a table. We can now accomplish this same end result in a pure javascript manner using the "show_none_row_if_needed" JS method. It is being used for question role requests currently, but should be extended to be used everywhere else in the site.

Fix Chrome/Safari Arbitrary Prerequisites pull-down menu

Currently, when adding a prerequisite to a multi-part question in Chrome & Safari on Mac (possibly on Windows as well, not tested for IE), the pull-down menu does not allow you to choose which pre-requisite to add: it defaults to the first. The pull-down menu works in Firefox Mac OS X.6 (not tested on Windows Firefox).

The system, however, supports adding arbitrary pre-requisites, so you can hack around this.

for example:

1.add first prerequisite,
2. Add second,
4. edit the set of prerequisites, and delete the first prerequisite.

The pull-down menu should be fixed to allow this arbitrary setting of pre-requisites from the start.

cannot delete images from question cache

The title explains...when you want to change the images in the cache of a question, it maintains all uploaded images...this could become an issue if you make alot of small changes over time.

upon new role request need to agree to license

Similar to new feature request 17 we need to make certain that there is an explicit agreement to the cc-by license and time a new user is added to new roles.

we can just put this below the th listing of role request

"Connexions requires that all content submitted to our repository be placed under an Open Content license that allows others to use, distribute, and create derivative works based upon that content. The Attribution license from Creative Commons fulfills this requirement, while still allowing authors to receive credit for their efforts. Please take the time to read the license and check the I agree box below before continuing.

I hereby allow Connexions to distribute this content under the terms of the Creative Commons Attribution License available at http://creativecommons.org/licenses/by/3.0/. I understand that in doing so I

  1. retain my copyright in the work and
  2. warrant that I am the author or the owner or have permission to distribute the work in question and
  3. wish this work to be distributed under the terms of that license (including allowing modification of this work and requiring attribution) and
  4. agree that proper attribution of my work is any attribution that includes the authors' names, the title of the work, and the Connexions URL to the work.

I have read the above, and I agree to license this new work under its terms. "

tables in math mode

It could be helpful to be able to use table or tabular in math mode. It doesn't seem to be currently supported.

User profile email preferences aren't clear

The column names for email preferences should make it clear that a "true" value blocks or allows emails of that type. Also, when making this change double check all of the uses of these preferences (in particular, the admin announcement check may be backwards)

[info: @dcwill]

We need to be able to have "non-person" users (e.g. "Rice University", "McGraw Hill, Inc.")

Sometimes the copyright holder for a question will not be a person but instead some entity like a university or corporation. We need the ability to treat these entities like we otherwise treat users.

CNX has some special hidden way to create these users; daniel might have more information about how they do this.

Regardless, we need a "user" that could be Rice. Interestingly, the user proxies work can give us a way to let many people act as "Rice" in the system. Note that we'll probably still need some way for a single person (or persons?) to actually manage the account (the person who can log in as the user "rice"). Note that if one person has a normal account in addition to a "entity" account, we might need to relax the restriction that emails are unique among users, e.g. we should allow Daniel to be both user "dcwill" and "riceu" and use "[email protected]" for both account's email addresses.

We will need some way for users to indicate to us that they need this kind of special account. The creation of these accounts should probably be done manually by an admin.

Add "flag as inappropriate" link on user submitted content.

We need the ability for our users to police the content on quadbase with a "flag as inappropriate link".

When users flag something, they should be asked to provide a reason why the content is inappropriate.

Administrators should then be notified by email. Administrators should then have a screen in the admin section in which they can adjudicate the flags and judge which ones have merit. The admins can fill out a response which will be sent to the person(s) who flagged the content. These flags should be grouped by the flagged content (since it is possible that many people will flag something offensive before we get to it, and we want to be able to deal with them sort of together).

This feature implies that admins also should have the ability to delete any content that is flagged, including published questions. Actually, I wonder if it would be better to keep but not display the offensive content and instead just display a message that the content has been removed b/c it is inappropriate. The authors of the content could then argue their case and the content could be restored. Also, if the content is somehow illegal (child porn, threats, etc), by hiding it we could keep the content around to show to appropriate authorities, etc. This is probably not going to happen very often but might be a good solution regardless :-).

Rename "messages" to "discussions"

The "messages" we have are really discussions. Every time someone adds to one of these, another "message" doesn't show up in your inbox.

I take the blame for the messages name.

Image upload doesn't really cancel

When uploading an image, it can be canceled. Once it's canceled, the file disappears but then when you reload another image and upload it, the image you canceled as well as the image you just uploaded appear in the preview window. This doesn't appear to be intentional.

Make distinction between "removing" and "deleting" information

Right now there are some pages where users can remove something (e.g. a question from a workspace) but we use a trash icon. This trash icon implies that we are actually deleting the question. In these cases, use something more clear (could be a "Remove" button or maybe an "X" button).

False HTML error

Formatting error is displayed when including an angle-bracket (<) right up against a letter.

For example, <t would result in an error... < t would not.

Do we need to require stronger passwords?

Right now I think that a user can use any password as long as it is longer than 6 characters. Do we need to require some minimal password strength (e.g. not a dictionary word and at least one number)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.