GeoGebraTube Documentation
GeoGebraTube is the name of the new material sharing platform, developed for the special needs of the GeoGebra community. It possesses an uncluttered interface which can be easily used by users with little technical knowledge. Most users visit GeoGebraTube to search for high quality materials for their classes, therefore a powerful search engine and easy-to-use tools to decide about a material's quality are necessary. Uploading materials should be as easy as possible, with descriptive, but not too time consuming meta data.
The documentation is available as tickets in our ticket system:
Milestone: GeoGebraTube I1 (30 matches)
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
|---|---|---|---|---|
| #564 | fixed | Multilingual Content | 25 | 100 |
| Description |
GeoGebraTube is expected to have an international user base, therefore just displaying materials in all languages at once would leave many users with many materials they don't understand. To solve this issue each user should be able to select what languages he understands and GeoGebraTube will just display materials of those languages to him. This language filter should be active for general material lists, like:
But there might be lists as well where all materials should be shown:
There should also be no restriction to view specific entries. If a user requests to view a material or set in a language he does not understand it should show up anyway (ie keep current behavior). We also have to keep in mind that there are many languages which do not have a user interface translation. Therefore users should be able to choose a user interface language and the languages they understand separately. The user should be able to change the languages he understands on every page, the language selection dialog should be placed on a prominent spot (maybe at the top right as the language selector on GeoGebra.org). The actual dialog should be loaded using AJAX. The selection should be stored in a cookie but also in the user database for authenticated users (see #583). |
|||
| #583 | fixed | Login / Authentication | 25 | 100 |
| Description |
Rebuild authentication system to make it work with the forum, Facebook and OpenID providers (especially Google). For the forum make sure we use nothing which just works at a geogebra.org domain. Facebook:
OpenID:
As neither Facebook nor OpenID provide appropriate usernames the users should be able to choose a username the first time he logs in. This also means that we have to keep our own user database which stores at least the user id, user name, authentication type ('facebook', 'openid' or 'forum') and an identifier provided by the authentication service (facebook username, openid, forum user id). But other data could be stored there as well, like the user languages (see #564). This new user system also removes the necessity to store the redundant user name, this field should be replaced with joins. As the underlying user class in GeoGebraTube would be changed mainly to support these new authentication methods not much more changes in other parts of GeoGebraTube would be necessary, the modified user class should just provide the GGT user id and user name instead of those provided by the forum. It just has to be checked that we don't use other fields provided by the forum user table at the moment (like the user's e-mail address to automatically fill fields). |
|||
| #602 | fixed | Search | 25 | 100 |
| Description |
Implement search for all fields which can be set while creating a material. There are two search forms. The basic search form which is displayed on top of every page and the advanced search form. The advanced search form should allow the user to exactly specify what to search for, but should not be overwhelming, so many options should be hidden by default. Both search forms should use the same underlying search engine. The search results should be cached and limited to a maximum number of results (e.g. 500). The search should also allow the user to further restrict the results by defining additional conditions (e.g. add another tag). There is already a basic search and a search for tags implemented, but they have to be merged. TODO: List of search fields, how they appear in the user interface, if and how they can used to refine a search and how they behave in basic search. Wireframes. |
|||
| #23 | fixed | Save form values if an error occured | ||
| Description |
If an error occurred while creating a material the form fields are truncated at the moment. The fields should contain the form data which was just submitted though. |
|||
| #32 | fixed | Category overview | ||
| Description |
A new controller has to be created for categories. This controller should contain a single method which lists all materials of a category (the ID is passed by URL) ordered by their creation date on a single page. All materials in this list should be displayed using the materials/item.phtml template. Additionally, the current category link should be changed from 'material/category/id/##' to 'category/id/##'. |
|||
| #49 | fixed | Uploading modified materials | ||
| Description |
Users should be able to change the uploaded files by uploading another file while editing. This file has to be of the same material type as the original file however, so if the original file was ".ggb" the user can just upload .ggb files while editing. Things to consider:
|
|||
| #75 | duplicate | phpBB3 integration | 15 | 100 |
| Description |
The behavior described on the documentation page should be implemented and tested. |
|||
| #103 | fixed | Missing datasets not recognized | 1 | 100 |
| Description |
If the ID is e.g. ":12" the current is_null(..) test fails as the result is actually "false". A possible solution might be using empty() (does this cover all cases?). We need to check all controllers & replace this. |
|||
| #172 | fixed | Resolve path issues | ||
| Description |
At the moment the BASE_URL constant points to the root URL of GGT and is used to load images/css and files. The directories for those won't match in the real life setup (e.g. files will be in /materials/files and css will be in /css) so we need to differentiate. |
|||
| #191 | fixed | Form error handling | 100 | |
| Description |
A flexible solution for error handling in forms in needed:
|
|||
| #241 | fixed | option to create <iframe> link | 2 | 100 |
| Description |
Idea for GeoGebraTube: Button "Get Link to Embed" which gives the user a link like: <iframe src="Your URL here" width="80%" height="80%"> </iframe> (to the clipboard if possible) which will then work in systems that don't allow <applet>, eg http://myudutu.com/forums/forums/thread/1664.aspx |
|||
| #480 | fixed | Fix BBCode Keyboard Shortcuts | ||
| Description |
To insert BBCodes into formatted textareas (comments, material descriptions, etc.) one should be able to use keyboard shortcuts as well. The old solution is not working very well, therefore I commented it out. Please re-implement the logic for this feature in scripts/textFormatting.js, you should be able to reuse most of the old code. At the moment we need ctrl + b for bold and ctrl + i for italics. That should be quite simple using the e.which and e.ctrlKey attributes. |
|||
| #481 | fixed | Add [url] BBCode | ||
| Description |
At the moment there are just two BBCodes, [b] and [i], please add a third code for URLs which should have the format [url=http://...]title[/url] or [url]http://...[/url]. The result should be <a href="http://..." rel="nofollow">...</a>. Make sure that it's not possible to use JavaScript in URLs, e.g. [url=javascript:alert('Test');]title[/url] should be invalid and not parsed at all. The whole task consists of the following parts:
|
|||
| #482 | fixed | Enhance the Paginator | ||
| Description |
The paginator currently features sorting and pagination of materials, ie splitting large sets of materials into different pages. (Please look at at the screenshot to get an idea what I'm talking about ;-)) The way the actual list of materials is displayed takes quite a lot of space at the moment (large thumbnail, two materials per row). This might be convenient for most users, but some might want a more compact format and/or more materials per page. Therefore the user should be able to choose between three different list styles and select how many materials should be displayed per page. The current paginator is using much space on the right but little on the left, so please add those functions to the left side of the UI. The three list styles should be:
The visual look of the second and third list style is up to you, as well as what attributes of the material to include in the third (title, rating, author?). There are similar elements in other parts of GGT, I attached screenshots of them to give you a broad idea what I mean (but those elements are used for special purposes and hence do not reflect what the list should look like). If you have no real affection for visual styling in general (which includes the CSS fine tuning of the list and the icons you'll need) please create placeholders and a ticket for me. Please also add a field to the left where the user can choose the number of materials to be displayed per page. Numbers like 10, 20, 30 and 50 should be good (due to the two column layout odd numbers don't look very well ;-)). Now to the implementation: The visible paginator is a view helper, stored in library/GeoGebra/View/Helper/Paginator.php, changing this shouldn't be a problem. The logical paginator is stored in library/GeoGebra/Paginator.php, most of the per-page logic is already implemented, you probably just need to change the readParams() method to query your new URL parameter. The whole list styling thing is a bit more complicated. I would store the user's selection of list style as a cookie. No part of the paginator is using AJAX to reload the list at the moment, so I would keep it that way and just ask for a page refresh via JavaScript to apply the changes. The list styling could be done either by using a lot of CSS and just a little PHP (e.g. always list everything necessary for all styles in HTML but determine what and how to show it using CSS classes) or more PHP (just list what's necessary for the selected list style, which makes it easier to style it using CSS). The paginator is a component used in multiple places (consisting of the view helper for the view and another class for the model / controller), but the view of the material list is currently not. You are free to choose how to implement this, but your solution should not require too much technical code to be added to each page which is going to use this custom list styling. |
|||
| #525 | fixed | Login form in comment section | ||
| Description |
If the user is not logged in and views the comment section of a material he is seeing two links to login or register. Please replace that with a compact version of the login form (as included in the material creation form, for example). |
|||
| #526 | wontfix | Solve login form problem | ||
| Description |
It does not occur here, so please find out what causes your login form problem. |
|||
| #528 | fixed | Multipage material creation form | ||
| Description |
For ease of use the material creation form should be split into multiple pages/steps, allowing us to hide unnecessary fields and use more sophisticated methods for links. Requirements We need a new material type link for this, in addition to the existing types ggb and ggt. The type is just a string inserted into the material table, so no database changes are required for this. You have to add a new field to the material table in the database to store the link. (You have to update the database.sql file to reflect your changes.) Taking care of displaying materials of this type correctly will be part of another ticket (#531). Implementation Your implementation should be based upon this state diagram and this wireframe. The current form for materials are used for both creation and modification of materials, just keep the current form template for modifications as it is (but rename it). Changing it to cope with materials of type links is part of another ticket (#532). You don't have to come up with help texts or good names for new labels, just insert some dummy phrases into the language file (but don't put static text in templates!). For simplicity please leave out the step 1.5 (again, part of another ticket #533), if a link is entered in step 1 just proceed to step 3 directly. Also do not care about the "GeoGebra upload" stuff which is relevant if a file was uploaded from GeoGebra (part of #535). |
|||
| #531 | fixed | Display materials of all types correctly | ||
| Description |
You have to add the link material type first (#528). At the moment just the ggb material type is displayed correctly. Please add support for displaying materials of the type ggt and link as well. That includes:
|
|||
| #532 | fixed | Change material modification form | ||
| Description |
The material modification form should still be displayed on a single page. Please change that form and the controller to deal with materials of the type link and ggt correctly. For links it should be possible to change the URL of that link for example. Apart from that just check in the wireframe which fields are visible for each type and just show them in the new form. Changing the type of a material and the underlying file for the types ggb and ggt should remain to be impossible. |
|||
| #534 | fixed | Pass export data to GeoGebraTube | 1 | 100 |
| Description |
Pass all available data from the export dialog and the user interface language to GeoGebraTube and store it there temporary. |
|||
| #535 | fixed | Re-implement GeoGebra upload support | 3 | 100 |
| Description |
Add GeoGebra upload support back to the multipage uploading form. The differences in the user interface between GeoGebra and web-based upload are described in this wireframe. The singlepage upload form from revision 100 already featured GeoGebra uploading support, so you can look at this to check the implementation details. The fields marked with a blue bubble in step 2 and 3 should be pre-filled with data from GeoGebra, but I have to implement that first (see #534). |
|||
| #551 | fixed | Add upload type check | 100 | |
| Description |
Type checking for uploaded files is missing. |
|||
| #584 | fixed | Share materials | 6 | 100 |
| Description |
Sharing methods:
|
|||
| #533 | fixed | Parsing links while creating materials | ||
| Description |
This ticket is about step 1½ in the material creation wireframe. Please change your implementation of #528 to include this step. The basic idea is the following: Many users will want to include their existing worksheets in GeoGebraTube as links, but most of those linked pages are probably nothing more than the webpages generated by GeoGebra. As external links are error-prone (just take a look at the current wiki), we want to give our users the possibility to convert the linked web pages into normal GGT materials. But we just want to offer this option if we know that it's possible. If the linked web page does not contain an applet tag, for example, we should skip step 1½, The process should look like that:
Additional feature: If the linked web page has exactly the format of the most simple GeoGebra export option we could also gather more information like material title, pre- and post-applet descriptions and insert those into the form. |
|||
| #538 | fixed | Report materials and comments | 15 | 100 |
| Description |
Implement a report controller which can be used to report materials and comments and manage those reports in a central location. There is a comment report feature at the moment, which can be used as a starting point for this. To remove redundancy the controller should handle reports for different types of data –materials / comments– just like material types are handled at the moment (single report table, single user interface, small differences). The attached mock-ups should give you a good impression what kind of features are required:
Enhanced: Script to check broken links, which creates a report automatically after being unable to access a webpage for X days (see #589). |
|||
| #586 | fixed | Implement target group field | ||
| Description |
Please implement the target group field (both creation / modification) and ensure that its value is displayed in show.phtml in the same style and place as the categories or tags. The age values should be stored as simple consecutive numbers unrelated to the actual caption. |
|||
| #590 | fixed | Feed support | 8 | 100 |
| Description |
We need RSS/Atom/? feeds from various material lists for our users and for other websites (like GeoGebra.org). There is already a FeedController which contains an example how to create feeds in Zend Framework, the output format (RSS / Atom / ?) is changeable using a simple switch, so supporting multiple formats should be very easy (via GET 'format'). The number of feed entries should be variable between 3 and 30 (via GET 'num'). We need feeds for the following resources at the moment:
As all feeds should contain the same data you should create an private method in the FeedController to generate the feed out of a database result set and use the actions of the controller to validate the request and fetch that result set from the respective models (you should create a Paginator with constant values to re-use the methods for fetching user / category materials). A note concerning the current implementation: To make feed URLs less clunky the feed URL is using a custom route, which means that the URL does not have to follow the default pattern in ZF. For example: en/feed/rss/10/user/1 is pointing to the 'user' action of the 'feed' controller with some parameters like 'format' = 'rss', 'num' = 10, 'id' = 1. This route is called 'feed' and added to the ZF routing component in library/GeoGebra/Controller/Plugins/L18n.php, you can read all about the details there. The current route requires an ID, so you might either define another route which does not require that or pass a dummy value for feeds who do not need an ID (like newest materials). The ZF is basically doing all routing magic for you, you just have to take care while creating URLs in the views that the second argument of the URL view helper is the route name instead of 'default' and that your first argument contains all parameters of that route. Now to the front end part of this task: For feeds which belong to a specific action (like user:profile or category:show) add a RSS icon to the page at a place which appears appropriate to you, there are two icons rss_16.png and rss_32.png in trunk for this (the 32 icon is probably too big though). Also add a RSS auto discovery<link .. /> tags to the head to point to that RSS feed. On the frontpage add a RSS auto discovery link which points to the 'newest materials' RSS feed. This feed should display 10 materials, the other two 20 materials. All links point to RSS feeds with a constant number of entries. The fields 'type' and 'num' are intended for expert users and websites (who have to change the URL directly). (Note: Use the HeadLink view helper for the auto discovery elements in the <head> tag. That helper is similar to the HeadScript view helper we are already using.) There should also be a very simple page which explicitly lists all available feeds. A link in the footer should point to that page (which should be part of the FeedController naturally). See the attached wireframe for details how that page should look. |
|||
| #37 | fixed | Add basic styling capabilities | ||
| Description |
Basic styling capabilities need to be added to comments and material descriptions which are equal to those in the forum. At the beginning this should just include [i] for italics and [b] for bold texts. One should be able to insert those codes by clicking on an icon above the textfield, if text is selected the codes should surround the selected text. |
|||
| #48 | fixed | Featured materials | ||
| Description |
Materials can be featured by moderators and all featured materials are displayed on the frontpage of the material manager. The following has to be done:
|
|||
| #537 | duplicate | Generate thumbnails for linked pages | ||
| Description |
This is really not an important feature, but maybe cool to play around with. ;-) In order to have some kind of thumbnail for materials of the type link we could use a web service which automatically create thumbnail images of given websites (see this list, for example). It should be free for the capacity we need, allow such usage and support our required image size. We should download those generated thumbnails and store them in the same location we store our ggb thumbnails. Such service can be slow or not available at all, so issuing the command to generate those thumbnails should not happen immediately. They should be put in a queue which is processed by a cronjob script (does not have to be php). You have to take care of the following situations:
Refreshing thumbnails from time to time would be nice too, but that's even less important. |
|||
Milestone: GeoGebraTube I2 (20 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #711 | fixed | Webserver has no access to GeoGebra.org | 3 | 100 |
| Description |
Our webserver does not know his own name (GeoGebra.org). Therefore link analysis will fail for all worksheets located on GeoGebra.org, which is extremely bad as many entries of the old upload manager should be converted to GeoGebraTube materials this way. |
|||
| #608 | fixed | Graduated user privileges | 5 | 100 |
| Description |
Add interface to GGT to promote / demote users to moderators or administrators. Moderators have the same privileges as administrators do have at the moment, but they can't promote other users. The user group –default / moderator / administrator– should also be stored in the user database now (see #583) instead of using the configuration file. |
|||
| #610 | fixed | Emphasize student version | 1.5 | 100 |
| Description |
While the 'student version' of a material is a very important feature of GeoGebraTube it's well hidden at the moment. Change that and also take care that the use of such a student version is better explained. Maybe there is a better name for this feature as well? |
|||
| #612 | fixed | Help: User interface descriptions | 10 | 100 |
| Description |
Add sensible help messages to all form fields where it might be possible that the user misunderstands them. Also consider examples of expected input. Take additional care that everything in the material creation form is explained, without exception. Also add brief general descriptions to forms and pages to explain their purpose and how they can be used. GeoGebraTube should be fool proof and lead the user through everything (while trying to be no nuisance). |
|||
| #613 | fixed | Improve set user interface | 10 | 100 |
| Description |
Make user interface cleaner, more central and emphasize the purpose of sets. Also take care that it's possible to remove materials from a set. |
|||
| #633 | fixed | Test Facebook login / sharing | 6 | 100 |
| Description |
Facebook requires a server it can communicate with for certain services (thumbnail sharing, login). Therefore test these features if we start the closed beta. |
|||
| #651 | fixed | Rename sets to collections | 2.5 | 100 |
| Description |
The name set sounds a bit strange, please rename this to collection before implementing the other related features. For consistency the word set should not occur anymore in the source code as well (ie CollectionController, CollectionModel, collection database table). You can close this ticket if a search for set doesn't yield any results. ;-) |
|||
| #661 | fixed | Add dedicated search page | 1 | 100 |
| Description |
Add page dedicated for searches, should display the advanced search form by default. There is already a "Search" link in the submenu which should point to this page. |
|||
| #717 | fixed | Escaping characters | 1 | 100 |
| Description |
Escaping of ' and " doesn't work properly: http://www.geogebratube.org/material/show/id/4#comment-2 http://www.geogebratube.org/material/simple/id/4 |
|||
| #723 | fixed | GeoGebra version displayed for links | 0.2 | 100 |
| Description |
See http://www.geogebratube.org/material/show/id/6 for an example. |
|||
| #743 | fixed | <applet> changes | 0 | 100 |
| Description |
Please change this: Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (<a href="http://java.sun.com/getjava">Click here to install Java now to: This is a Java Applet created using GeoGebra from www.geogebra.org - it looks like you don't have Java installed, please go to www.java.com as the href=" causes problems in (some) Moodle versions |
|||
| #609 | fixed | Determine and store GeoGebra version automatially | 5 | 100 |
| Description |
Determine GeoGebra version of each .ggb and .ggt file by scanning its XML (unzipping already done for .ggb files for thumbnail extraction anyway). Store that version in the database (as string) and show it on the material/show page like "category, tags, etc.". |
|||
| #615 | fixed | Report bug links | 1 | 100 |
| Description |
A convenient way to go to the GeoGebraTube bug report forum would be nice. A small "report a bug" badge which stays on the left part of the screen all the time. |
|||
| #618 | fixed | Private sets | 4 | 100 |
| Description |
Sets can be either public or private. If they are public they should be displayed in the user's profile. Public sets should be the default setting in the set creation form. |
|||
| #671 | fixed | Report collections | 8 | 100 |
| Description |
Currently, materials and comments to materials can be reported, but the text of the collections cannot. We should be able to report collections also. |
|||
| #714 | fixed | GeoGebraTube using old version of GeoGebra | 0 | 100 |
| Description |
ggt is using GeoGebra 3.9.165.0 14 February 2011 to display applets |
|||
| #737 | fixed | Hide collections in profile if there are none | 0.2 | 100 |
| #636 | fixed | Math support via MathJax? | 3 | 100 |
| Description |
Add MathJax support to automatically render formulas. We don't want formulas to be parsed in inappropriate areas though, just in those we specified as math compatible (pre- / post- / teacher description). Add special BBCodes for those fields to automatically enter equations delimiters, maybe we should even escape normal mathjax delimiters and convert a [math] and math BBCode to those delimiters. |
|||
| #712 | fixed | Link not parsed correctly | 2 | 100 |
| Description |
This file has been exported in the latest version of GeoGebra (3.9.232.0), but the construction text does not appear in GeoGebraTube: http://www.floriansonner.de/misc/ggb/ggt-test.html |
|||
| #757 | fixed | Rating form should disappear after form submission | 0.5 | 100 |
| Description |
If you submit the rating form via AJAX the form should disappear of course. At the moment the form is still visible on the page. |
|||
Milestone: GeoGebraTube I3 (30 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #947 | fixed | Create central administration page | 2 | 100 |
| Description |
Please replace the user management link in the menu with a link to a general administration control panel, which provides access to all administration activities (a list of links):
|
|||
| #948 | fixed | Predefined tags | 10 | 100 |
| Description |
As we no longer have categories for content organization we would like to provide predefined tags to be able to enhance tag suggestions (and some more advanced features, which are not part of this feature). Predefined tags should be language specific and their existence should not depend upon whether any materials with these tags exist (on contrary normal tags should be removed from the database as soon as no material exists anymore which is using this tag). To implement this the following changes are necessary. Database: Add a new field predefined to the tags table, which is NULL if the tag is a normal tag and the language code if the tag is a predefined tag. Behavior:
Interface: We need another page just for administrators where predefined tags can be changed (for a specific content language). We don't need a beautiful interface for this:
The following rules should apply while comparing the new predefined tag list with the tags already in the database:
|
|||
| #170 | fixed | Adding a material to sets | 100 | |
| Description |
|
|||
| #614 | fixed | Set browsing | 10 | 100 |
| Description |
Set browsing for students is not yet implemented. Many teachers probably want more control over the appearance of set browsing for students (display all materials in sidebar) so there should be an user interface to configure this as well. |
|||
| #686 | fixed | Ban a user | 8 | 100 |
| Description |
Moderators or admins should be allowed to ban a non-moderator user in the user management page. The ban should prevent the user from logging in (needs special error message), but we also have to logout anyone who is logged in but banned (to prevent users from continuing using their account by not logging out). |
|||
| #733 | fixed | Tag cloud shows tags in all (?) languages | 1 | 100 |
| Description |
The tag cloud counts tags of languages the user did not choose to see, which results in those tags being displayed in the tag cloud but the actual search yielding no results. |
|||
| #734 | fixed | Foreign language notification | 3 | 100 |
| Description |
If, while uploading or modifying a material, the user selects a language which is not one of his content languages a notification should appear automatically, informing him about this. Otherwise he may be confused why he can't find the material and re-upload it. The notification should appear directly below the language selection box with the following content: "Warning: Your current language settings will prevent you from seeing this material while browsing categories or while searching. Do you want materials in the selected language to appear in such listings as well? [x] Yes [ ] No" If 'Yes' is selected (which it should be, by default) submitting the form should add the language of the material to the content languages. If the content language is 'default' those default languages should be extracted and saved in the profile as if they were selected manually. The notification can be hidden in the source code, ie no AJAX-loading is necessary to my mind. The server side code should check if the language really has to be added to prevent database inconsistencies. |
|||
| #736 | fixed | Use browser language as content language if possible | 2 | 100 |
| Description |
At the moment the UI language is determined using the browser settings (unless there are existing preferences), but if that UI language does not exist English is used. Afterwards just the UI language is taken into consideration to determine the content languages, not the browser language. It's not uncommon though, that the browser language is available as content language but not as UI language. I therefore suggest to include the browser language into the 'default' content language list if possible. |
|||
| #740 | fixed | Paginator issues | 3 | 100 |
| Description |
Two issues with the paginator:
After implementing the second point make sure that the following default ordering rules are applied throughout GGT:
|
|||
| #752 | fixed | Change underlying ggb file | 3 | 100 |
| Description |
Allow users to change the ggb and ggt files of a material. I think (our/my ?) original reasoning against this was that ratings and comments may no longer be up-to-date, but this restriction really feels a bit artificial and unfriendly to the user now in everyday usage. ( technical note: change help text which is mentioning this if this is going to be implemented ) |
|||
| #755 | fixed | allow international characters for tags | 1 | 100 |
| Description |
Tags with non ASCII characters are causing errors at the moment, like carré. Empty tags (just insert " " after pressing [+] on the show page) are allowed however. |
|||
| #769 | fixed | Limit the file size a user uploads | 2 | 100 |
| Description |
In most websites there is a limit for the uploaded file size. Otherwise the user - an attacker of the website - could upload some dummy file with the size of a gigabyte. So GeoGebraTube should have some file size limit. The question is how big should it be? Most ggb files are less than 50 kilobytes, but we have to allow images in the ggb files, so I suggest the limit to be 2 megabytes... (?) |
|||
| #797 | fixed | Category -> Types | 10 | 100 |
| Description |
As discussed with Markus there are no longer categories. Content-wise organization is done using pre-defined tags (see #?). We can still use the category implementation for material type differentiation though. Users should be able to specify what kind of content links point to: If a link is pointing to a tutorial the material type should be Tutorial, if it is pointing to a website containing materials for a lesson (ie materials for 1 or 2 hours) it should be Lesson, etc. There will be the following material types:
Categories basically satisfy most features we need for material types, with two exceptions:
I already changed the translation and a few spots in the code to reflect this new name for categories, but the new name should be adopted internally and the two new restrictions have to be enforced on the server side as well. Some code can be simplified as well because exactly one type is associated to each material (e.g. use JOINS to fetch material category directly). |
|||
| #810 | fixed | Collection edit view gives duplicate search results | 0 | 100 |
| Description |
If I am in the collection edit view, and I search for something to be added, then it may happen that the material is there twice or there is a material which is already added. |
|||
| #842 | fixed | Move parts of material deletion logic from controller to model | 2 | 100 |
| Description |
At the moment the controller has to take care of how to handle all the material-related data (comments, reports, thumbnails, uploaded files). Conceptually this logic belongs into the model, ie MaterialModel::delete(). Refactoring the code will also make the code more maintainable and prevent bugs: The report controller does not remove as much data as the material controller does at the moment. (There are probably other places as well where data-related logic could be moved from the controller into the model. Please keep this option of moving the logic into the model in mind if you copy data-related code between models the next time. DRY) |
|||
| #905 | fixed | Application error in tag view | 1 | 100 |
| Description |
The tag page for archimed is broken: http://www.geogebratube.org/tags/archimed (The related material is http://www.geogebratube.org/material/show/id/23) |
|||
| #940 | fixed | Don't accept local files as URL | 1 | 100 |
| Description |
Look at the URL in http://www.geogebratube.org/material/show/id/72 and try to find out what went wrong (or could be better) in link validation to prevent such materials. |
|||
| #1046 | fixed | Replace chunk-phrases in language file | 1 | 100 |
| Description |
Some phrases are just available in chunks right now, for example:
Please replace those with single phrases by using substitution markers (e.g. %1$s). This makes translations a bit easier for our translators. In the situation above you could replace the link in the middle of the sentence with such a marker. |
|||
| #1099 | fixed | Recommendation e-mail broken | 0,5 | 100 |
| Description |
E-mail shows neither link to material nor the personal message entered by the user. |
|||
| #1102 | fixed | Language not available message | 0.5 | 100 |
| Description |
Please remove that message again, it's not clear to the user why it appears at all. |
|||
| #616 | fixed | All users can add tags to materials | 4 | 100 |
| Description |
All users should be able to add tags to existing materials. As anything else would be too complicated they can't remove tags but the creator can still modify all tags as usual using the material modification form. The UI for this should be very simple, just a little plus sign beside the tag listing should open a new small form where the user can enter his tags. |
|||
| #741 | fixed | Save construction dimensions | 5 | 100 |
| Description |
Picking up a suggestion from Markus: As we are already parsing the XML while loading GGB files to get the version string we can use that to determine the "optimal" applet dimensions as well: <window width="800" height="600" /> Those are stored since 4.0, it's not reasonable to determine the window size in previous versions (use NULL in that case). You can save those values in the material table and add two new fields for that. Afterwards those values should be used in applet.phtml to display the applets in correct dimensions. Note however, that not arbitrary dimensions should be enforced. I think those are good rules:
(if no values are given use the current dimensions) |
|||
| #751 | wontfix | Multiple target groups | 5 | 100 |
| Description |
Instead of defining a single target group we could allow multiple target groups for one material as well. Things to change for this:
|
|||
| #771 | fixed | Embed YouTube links as videos | 3 | 100 |
| Description |
If link points to YouTube the video should be displayed instead of the link. Also considering predefining the category of this link to be Video by default. |
|||
| #772 | fixed | Add "Close" button to embed dialog | 1 | 100 |
| Description |
There is no such button at the moment. |
|||
| #1038 | fixed | Check if \n in language file needs special handling | 0 | 100 |
| Description |
Check if we can use \n instead of a linebreak in a language file. If not add code which replaces \n with a linebreak automatically. |
|||
| #536 | fixed | Generate thumbnails for linked pages | 20 | 100 |
| Description |
This is really not an important feature, but maybe cool to play around with. ;-) In order to have some kind of thumbnail for materials of the type link we could use a web service which automatically create thumbnail images of given websites (see this list, for example). It should be free for the capacity we need, allow such usage and support our required image size. We should download those generated thumbnails and store them in the same location we store our ggb thumbnails. Such service can be slow or not available at all, so issuing the command to generate those thumbnails should not happen immediately. They should be put in a queue which is processed by a cronjob script (does not have to be php). You have to take care of the following situations:
Refreshing thumbnails from time to time would be nice too, but that's even less important. |
|||
| #619 | fixed | Material view count | 1 | 100 |
| Description |
Count views of a material and display them on the material show page. |
|||
| #621 | fixed | Favorite materials | 3 | 100 |
| Description |
User can add materials to their favorites using a heart button on the material/show page. While a user could basically abuse sets to keep track of all favorites as well a 'favorite' button is more accessible. Adding materials to favorites is already implemented, but they are listed nowhere. Please add a simple listing to the profile page for this. |
|||
| #906 | fixed | Change report broken link message | 0.2 | 100 |
| Description |
The generic "Do you really want to execute this action?" message is not a good choice in this context to my mind. Please change it to something like "You are about to report this material. Do you want to proceed?". |
|||
Milestone: GeoGebraTube I4 (8 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #1125 | fixed | Save applet settings while uploading | 2 | 100 |
| Description |
Applet settings —displayed on the form page with pre- and post instructions— should be incorporated into the uploading form as the other fields are: Stored between pages of the form and saved into the database in the end. If the size is set to be detected automatically the current size detection script can be used. Just ignore the results of that script otherwise and use the user input instead. There is a new database table material_settings which can be found in the database.sql file as usual. You have to create that table, run the script in maintenance/upgrade once and afterwards delete the columns window_width and window_height from the materials table. (The script will transfer the information stored there to the new table.) Everything else in this context is already implemented (modifying these settings while editing and using them while displaying the applet). You can look at MaterialModel::validateEditForm to see how I implemented field validation there (very simplistic). |
|||
| #1122 | fixed | Applet size: min-width / height | 1 | 100 |
| Description |
At the moment applets larger than 900px are set to a width of 100% automatically. The intention behind this was to make applets as large as possible without enforcing scroll-bars for users who are using a small browser. To make the behavior consistent we should enforce a minimum width of 900px though, so that large applets cannot be made smaller than normal applets. |
|||
| #1128 | fixed | Fix BBCode problem in Chrome | 1.5 | 100 |
| Description |
The BBCode buttons do not work in Chrome (nothing is inserted). |
|||
| #1133 | fixed | Wrong error message while logging in | 0.5 | 100 |
| Description |
If multiple errors occur at the login form, the output is "Array" instead of the error messages. |
|||
| #1184 | fixed | Math does not work in student view | 0.2 | 100 |
| #1207 | fixed | Language warning while editing | 0,5 | 100 |
| Description |
After selecting 'Korean' as language for a material while editing I get the warning message that I won't be able to see the material. I choose to see materials of all languages though. |
|||
| #1337 | fixed | Automatically parse URLs | 1 | 100 |
| Description |
URLs in formatted textareas should be automatically converted into a link (e.g. http://www.geogebratube.org/material/show/id/257). |
|||
| #1172 | fixed | Dates | 0 | 100 |
| Description |
"July the 22nd" is wrong, should be "July 22nd" Also, there's some code in GeoGebra.main.Application which might be useful for internationalizing dates?
|
|||
Milestone: GeoGebraTube I5 (35 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #1760 | fixed | I5 Pre-Release Task | 1 | 100 |
| Description |
Before release:
For release:
|
|||
| #604 | fixed | Context sensitive search | 4 | 100 |
| Description |
The basic search (see #602) should offer the option of performing a search in the displayed materials only. This should be an alternative to the normal behavior of the basic search form, not a replacement, therefore an option is needed to control this (see attached wireframe). This feature should be included on the following pages:
The advanced search should already support these kind of searches, therefore the normal search engine can be used (ie the search backend for this feature should already be implemented as part of #602). |
|||
| #739 | fixed | User search | 5 | 100 |
| Description |
Search for user by username, add the form to the search page (good idea?) and put link (or form?) "Find other users" on the profile page of each user. |
|||
| #745 | duplicate | Embed: remove line breaks | 0 | 100 |
| Description |
Please can you remove line breaks in the Embed -> Applet option, or provide it as an option? (line breaks cause problems in one of the common online platforms, maybe wordpress?) |
|||
| #753 | fixed | Allow JavaScript in GeoGebra files | 3 | 100 |
| Description |
Allow JavaScript code in worksheets to execute. Does this need anything but signed applets? Can this cause security issues (ie are arbitrary javascript commands, eg cookie access and user redirection, possible)? |
|||
| #770 | fixed | Customize applets | 10 | 100 |
| Description |
Allow expert users to customize how applets are displayed on GeoGebraTube (version for teachers). This could be used to set the following options application-wide:
|
|||
| #1134 | fixed | Use short URLs | 1 | 100 |
| Description |
There are new shortcuts we can (and should) use for any kind of links the user can distribute of student views: http://ggbtu.be/* will redirect to http://www.geogebratube.org/student/* Changes necessary:
|
|||
| #1208 | fixed | Full UTF-8 in tags | 2 | 100 |
| Description |
At the moment there's a block to just allow ASCII characters in tags. Letters in any language should be allowed though. |
|||
| #1354 | fixed | GeoGebra beta version integration | 1.5 | 100 |
| Description |
GeoGebra 4.2 and 5.0 files should be supported. 4.2 can be loaded with the normal 4.2 beta webstart, but 5.0 files need to be handled with special care, the thumbnails are of wrong size and do not contain useful information, the files themselves can't be viewed in applets at the moment. |
|||
| #1543 | fixed | lt / gt entities wrongly escaped twice in math | 1 | 100 |
| Description |
try typing comment [math]x>ymath, > is at some point replaced by > (fine) and then by &gt; (not fine). http://www.geogebra.org/forum/viewtopic.php?f=11&t=24353&p=82009#p82009 |
|||
| #1547 | fixed | Twitter / Facebook login not working | 1 | 100 |
| #1635 | fixed | Add link to favorites | 0.5 | 100 |
| Description |
You cannot view your own favorites easily at the moment. |
|||
| #1658 | fixed | Size detection ignores GUI elements | 1 | 100 |
| Description |
The dimensions of the GUI components are superficially part of the size detection at the moment: http://www.geogebra.org/forum/viewtopic.php?p=85536#p85536 |
|||
| #1754 | fixed | International tag names not allowed in normal form but quick add form | 0 | 100 |
| Description |
Umlaute, etc. can be used in tag names if one uses the '+' function for adding tags, but not in the normal form. |
|||
| #1755 | fixed | Improved UI language management | 1.5 | 100 |
| Description |
At the moment all available language files are loaded, but just the user's interface language and English (for missing keys) are necessary. Fix this: http://framework.zend.com/manual/en/zend.translate.sourcecreation.html http://framework.zend.com/manual/en/zend.translate.adapter.html Problems:
|
|||
| #1757 | fixed | MathJax broken in mobile worksheets | 0 | 100 |
| Description |
http://www.geogebratube.org/student/m3765?mobile=true says: MathJax no longer loads a default configuration file; you must specify such files explicitly. This page seems to use the older default config/MathJax.js file, and so needs to be updated. This is explained further at http://www.mathjax.org/help/configuration |
|||
| #1765 | fixed | Fix used version | 2 | 100 |
| Description |
There are some issues with the version of GeoGebra used to display materials at the moment:
|
|||
| #1769 | fixed | Add "Getting Started" section to frontpage | 2 | 100 |
| Description |
Add section to frontpage for new users, possible activities:
|
|||
| #1780 | fixed | Sort by relevance | 1 | 100 |
| Description |
Add sorting by relevance for queries which search for materials using the search engine. Otherwise that option should be ignored. |
|||
| #1799 | duplicate | Add GeoGebra version to settings for caching + update automatically | 0 | 100 |
| Description |
Caching on the student page requires the current version number of GeoGebra. Store that number in the settings file and make sure it's automatically updated for new releases. |
|||
| #1880 | fixed | Google analytics integration | 2 | 100 |
| Description |
Integrate Google analytics into GeoGebraTube:
|
|||
| #1886 | fixed | Enhance embed window | 4 | 100 |
| Description |
Enhance embedding function:
+ link to help how to actually embed the constructions (e.g. because plugins may be installed) |
|||
| #1901 | fixed | Complete preview during creation | 1 | 100 |
| Description |
At the moment the preview on the student page during creation has neither correct dimensions nor loads the correct version. These two issues should be fixed and changing the dimensions should be dynamic as on the edit page (i.e. applet resizes if focus is lost). |
|||
| #1904 | fixed | Move collection entry management to overview page | 4 | 100 |
| Description |
If the user creates a collection right now the actions which can be used to manage the entries of the collections are on the edit page, which may make some sense but is not very intuitive for the user. Move actions related to materials to the overview page (adding, removing or reordering materials in the collection). |
|||
| #562 | fixed | Beta / Translation Check List | 100 | |
| Description |
Check the following things before starting the beta (or translations). Tasks before going public
Performance:
Consistency:
Tasks to do in production environment
|
|||
| #581 | wontfix | Opera, Java logout problem | 100 | |
| Description |
It seems that under Linux, if both Firefox and Opera browsers are open to GeoGebraTube, and we see a ggb file either in the upload process or in the show, then GGTube may logout after the next step, especially if we played with the ggb in Java. |
|||
| #620 | fixed | User interface improvements | 5 | 100 |
| Description |
Simplify and streamline the user interface:
|
|||
| #744 | fixed | signed / unsigned applets | 0 | 100 |
| Description |
Should we offer a signed / unsigned option in "Embed"?
|
|||
| #773 | fixed | Rating view helper | 1 | 100 |
| Description |
Use view helper to display ratings. This helper should use the new rating-texts as title as well (ie "Rating: Good" instead of "Rating: 4"). |
|||
| #1277 | fixed | Document applet dimension restrictions | 1 | 100 |
| Description |
Document restrictions to the applet size in the applet dimension form. |
|||
| #1778 | fixed | Add likes / dislikes as API field | 0.5 | 100 |
| Description |
Two more fields for results: likes / dislikes One field for sorting: popularity = likes - dislikes |
|||
| #1881 | fixed | Fix textbox length if characters are limited | 1 | 100 |
| Description |
If the system enforces a limit of characters we should also use the maxlength attribute to give the user some feedback about this limit: |
|||
| #1905 | fixed | Quick way to create collections | 1 | 100 |
| Description |
On the material page there is now a button to create a collection within the "add to collection" dialog, but the user will never come back to the material page. In the long term the creation of the collection should be possible from within the dialog (using a very simple form), but until that is implemented we can automatically redirect the user back to the material page after collection creation (while automatically adding the material to the collection). There should be a message informing the user that the collection has been created. |
|||
| #735 | fixed | Remove report bug link | 0.2 | 100 |
| Description |
For public release the report a bug link should be removed again. |
|||
| #1820 | fixed | text appears over applet (created by etc) | 0 | 100 |
| Description | ||||
Milestone: GeoGebraTube I6 (14 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #1947 | invalid | Embed & Share not working | 0 | 100 |
| Description |
Go to e.g. http://www.geogebratube.org/material/show/id/4948
Tested on Win7 with Chrome using the German language setting |
|||
| #1949 | fixed | Version specific file caching | 1 | 100 |
| Description |
Look for a way to make the browser automatically reload CSS / JavaScript files after an update. Maybe just a GET parameter like "?version=1.5.0" (without any actual effect) would do the trick. |
|||
| #1953 | invalid | "language settings" doesn't work | 0 | 100 |
| Description |
http://www.geogebratube.org/user/language (linked from "You may want to check your language settings to make sure you see the materials you want to see.") doesn't work whether or not logged in Also note extra "." in error Error We're sorry! An error occured while you were using GeoGebraTube. Please try again later and let us know if your problem persists. One of the following things has gone wrong: You tried to access something which has been deleted from GeoGebraTube. Try using the search field above to find the material you are looking for. You do not have access to the page you requested, some pages are only available for moderators or administrators. Please login and try to access this page again. Sorry, there is a problem with this web address. Please go to this page in your web browser and copy the address from your browser's address bar.. |
|||
| #1935 | fixed | Display top contributors on frontpage | 1 | 100 |
| Description |
Add "Top 5 contributors" to the frontpage right below the material type list. |
|||
| #1936 | fixed | User list | 4 | 100 |
| Description |
Display list of users, with sorting options like name, number of materials, number of collections, etc. Add / embed user search into that page. |
|||
| #1938 | fixed | Edit comments | 2 | 100 |
| #1939 | fixed | Make thumbnail of Featured materials clickable | 1 | 100 |
| Description |
The thumbnail image of featured materials should be a link to the material page. This would make it easier to use especially on touch devices. |
|||
| #1940 | fixed | Adding materials to collections is not possible for normal users | 100 | |
| Description |
Using the collection overview page. |
|||
| #1946 | fixed | Remove tag from database | 1 | 100 |
| Description |
Add administration feature to remove a tag from all materials at once. |
|||
| #1959 | fixed | Add 'check language settings' to search result page | 1 | 100 |
| Description |
Just a small box which reminds people to make sure they checked the correct languages (both in the search and in general). |
|||
| #1965 | fixed | I6 release tasks | 0 | 100 |
| Description |
|
|||
| #1989 | fixed | Enhance BBCode support | 2 | 100 |
| Description |
At least enumerations for now. |
|||
| #2038 | fixed | Web compatible export options | 1.5 | 100 |
| Description |
Probably easiest way: Offer the iframe for export. Alternatively check if #2037 yields any nice results. |
|||
| #1900 | fixed | Personal profile | 3 | 100 |
| Description |
Modify the profile page to display options for the user himself, like language preferences. |
|||
Milestone: GeoGebraTube I7 (20 matches) |
||||
| Ticket | Resolution | Summary | Estimate (h) | Progress (%) |
| #2214 | search for "test" gives application error | 0 | 0 | |
| Description |
Search for: Test für Animation in HTML5 gives: An error occured: Application error |
|||
| #2142 | fixed | GeoGebraTube: embed applet tag in export out of date | 0 | 100 |
| Description |
This: Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.5 (or later) is installed and active in your browser (<a href="http://java.sun.com/getjava">Click here to install Java now</a>) should be: This is a Java Applet created using GeoGebra from www.geogebra.org - it looks like you don't have Java installed, please go to www.java.com (changed so that (a) Google shows a better message in searches and (b) <a> tag causes problems in Moodle) Also, codebase should point to the unsigned jars |
|||
| #2160 | One-click login on ChromeOS | 0 | 100 | |
| Description |
On ChromeOS, you have to be signed into Google. So it would be cool if clicking on "login" automatically used the Google/OpenID login |
|||
| #2206 | fixed | Online editing of construction not possible | 0 | 100 |
| Description |
Online editing of a construction currently shows a tip to double click the applet to get a GeoGebra window. However, this doesn't work anymore. Instead, we could show the toolbar and input bar in the applet to allow online editing. |
|||
| #2207 | fixed | Facebook login not working | 0 | 100 |
| Description |
Facebook login gives the following error: {
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
|
|||
| #1937 | Fix update script | 0 | 0 | |
| Description |
Fix the problems with the update script:
|
|||
| #1963 | Better RTL script support | 1 | 0 | |
| Description |
Fix support for RTL languages. Known issues:
|
|||
| #2037 | More clever GGW integration | 2 | 0 | |
| Description |
At the moment the availability of Java is checked by the server by observing the user agent. Maybe it's possible to use navigator.javaEnabled for this and use a client-side solution (although we must make sure that this is correctly working). |
|||
| #2075 | fixed | Issue index updates after tag deletion | 1 | 100 |
| Description |
Mark materials to be re-indexed if one of their tags has been removed using the administration function. |
|||
| #2105 | fixed | Ignore ~ in URL detection | 0 | 100 |
| Description |
URLs with a tilde are not recognized correctly: Instead of *http://aleph0.clarku.edu/~djoyce/java/elements/bookI/propI8.html* just *http://aleph0.clarku.edu/*~djoyce/java/elements/bookI/propI8.html is detected as URL. |
|||
| #2131 | Thumbnails for eg old wiki, external sites | 0 | 0 | |
| Description |
Thumbnail here is missing the Java Applet: http://www.geogebratube.org/material/show/id/7951 Possible solutions:
|
|||
| #2139 | Typing "Tools" in the search box should show all uploaded ggt files | 0 | 0 | |
| #2143 | Upload ggt file direct to GeoGebraTube | 0 | 50 | |
| Description |
First half: http://dev.geogebra.org/trac/changeset/17115 |
|||
| #2159 | fixed | mention google in first-steps message | 0 | 100 |
| Description |
as authentication method |
|||
| #2163 | wontfix | reactivate double-click for edit page | 0 | 100 |
| #2173 | fixed | Use a "Google TM" bitmap for the login button | 0 | 100 |
| Description |
(we have permission from Google to use it :) |
|||
| #2195 | Mention commercial usage restrictions for embed codes | 1 | 0 | |
| #2130 | Empty search page | 0 | 0 | |
| Description |
Search for "fraction" in GeoGebraTube (language selection English UK, English US). 35 results are found, tahe pagination has links to pages 1,2,3. With 18 materials/page there are only 2 pages, the third is empty. |
|||
| #2149 | GeoGebraTube: error displayed when username changed | 0 | 0 | |
| Description |
You successfully changed your username! Error We're sorry! An error occured while you were using GeoGebraTube. Please try again later and let us know if your problem persists. One of the following things has gone wrong: You tried to access something which has been deleted from GeoGebraTube. Try using the search field above to find the material you are looking for. You do not have access to the page you requested, some pages are only available for moderators or administrators. Please login and try to access this page again. Sorry, there is a problem with this web address. Please go to this page in your web browser and copy the address from your browser's address bar.. |
|||
| #1964 | Accents in search | 2 | 0 | |
| Description |
Search results are sensitive to accents. Check if there is an easy way to change that. |
|||
OAI harvesting
This interface allows bots to fetch and include GeoGebraTube materials into material collections. The abbreviations OAI stands for Open Archives Initiative. Just some links / thoughts here:
- OAI-PMH protocol for material harvesting
- Setting up an OAI harvesting server (examples and description, includes an open source java service which can be run using tomcat, the connection between this service and the real material database has to be added of course)
Elena Shulman <elena@…> from OER Commson writes: This metadata is compatible with the IEEE Learning Object Metadata (LOM) standard, also used by the the European Union's Learning Resource Exchange who have adapted LOM in their application profile. Many repositories and digital libraries share and harvest metadata using the Open Archives Initiative protocols and in order to link up your database with other partners you'll want to have a LOM or Dublin Core compliant schema in place. If you are interested in learning more about OAI and how to set up your own harvest target please take a look at the following: http://ariadne.cs.kuleuven.be/aspect-wiki/index.php/Harvesting
Attachments
- upload-process.png (8.6 KB) - added by florian 20 months ago.
-
embed.png
(8.0 KB) -
added by florian 20 months ago.
Description how JS-based file embedding should work
-
upload-process.zip
(243.9 KB) -
added by florian 16 months ago.
Wireframe of the upload process.
