gbateson / moodle-qtype_ordering Goto Github PK
View Code? Open in Web Editor NEWOrdering question type for Moodle >= 2.1
Ordering question type for Moodle >= 2.1
In the quiz settings, when switching the behaviour of the questions to "Adaptive mode and Adaptive mode (no penalties)", it doesn't seem to affect the qtype_ordering question. It only allows answering once, with no option to change the answer (as opposed to questions of other types on the same quiz).
Is there a way of solving this issue?
Hello Gordon
thanks for developing this useful question type!
We've encountered a weird problem on one of our quiz exam.
After the exam the teacher realized a mistake and edited the question and after that the question is not shown correctly anymore.
The question has 30 options for the ordering but now it shows only 5 of them after the change (inside the attempt window).
Is there anyway to bring the options back again for the students?
we are using: Moodle 3.8.3 (Build: 20200704)
Plugin version : 2019121400
I have a bug report from one of our support staff:
Clicking "Add" to add items more than once without saving the question in between has incorrect and unwanted behavior. Items added after the first time "Add" is clicked have an HTML editor instead of the standard edit box. Clicking "Remove HTML Editor" at this point boots the user out of the question editor. (Tested on Windows 10, Google Chrome 71.0.3578.98 64-bit and Microsoft Edge 42.17134.1.0)
This is happening on version 2018-01-17 (68) and 2018-12-12-(77) of the plugin.
Currently we use other question type for ordering questions, but your plugin looks better. But we need to use pictures into the answers. To add pictures we need create question, save it, add some more fields, insert something into fields for answers (if fields are empty, they do not remember selected editor), switch mode for every answer to html editor, save question again, and only then we have ability to add pictures and formatting. It would be very useful to create setting for default editor.
I can make such improvements, but i need to know that you are intrested in them before i start working.
Using Moodle 3.11 we get a generalexceptionmessage when saving a new question:
Stack trace:
line 406 of /question/type/ordering/edit_ordering_form.php: Error thrown
line 653 of /lib/formslib.php: call to qtype_ordering_edit_form->validation()
line 589 of /lib/formslib.php: call to moodleform->validate_defined_fields()
line 699 of /lib/formslib.php: call to moodleform->is_validated()
line 232 of /question/question.php: call to moodleform->get_data()
sysinfo:
PHP 7.4
Apache 2.4
PostgreSQL 10
Any ideas or further testin intructions?
Previously created ordering-questions work fine, just saving new ones doen´t work.
thanks and kind regards
Klaus
I attempted to install the plugin directly from Moodle's site on my Moodle 2.8 installation and got this error:
Debug info: Key column 'question' doesn't exist in table
CREATE TABLE mdl_qtype_ordering_options (
id BIGINT(10) NOT NULL auto_increment,
questionid BIGINT(10) NOT NULL DEFAULT 0,
selecttype SMALLINT(4) NOT NULL DEFAULT 0,
selectcount SMALLINT(4) NOT NULL DEFAULT 0,
correctfeedback LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
correctfeedbackformat TINYINT(2) NOT NULL DEFAULT 0,
incorrectfeedback LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
incorrectfeedbackformat TINYINT(2) NOT NULL DEFAULT 0,
partiallycorrectfeedback LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
partiallycorrectfeedbackformat TINYINT(2) NOT NULL DEFAULT 0,
CONSTRAINT PRIMARY KEY (id)
, KEY mdl_qtypordeopti_que_ix (question)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE = utf8_general_ci
COMMENT='Options for ordering questions'
Error code: ddlexecuteerror
Stack trace:
line 449 of /lib/dml/moodle_database.php: ddl_change_structure_exception thrown
line 905 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 76 of /lib/ddl/database_manager.php: call to mysqli_native_moodle_database->change_database_structure()
line 412 of /lib/ddl/database_manager.php: call to database_manager->execute_sql_arr()
line 364 of /lib/ddl/database_manager.php: call to database_manager->install_from_xmldb_structure()
line 500 of /lib/upgradelib.php: call to database_manager->install_from_xmldb_file()
line 1626 of /lib/upgradelib.php: call to upgrade_plugins()
line 434 of /admin/index.php: call to upgrade_noncore()
We have a course in Moodle 3.11.
The course contains questions that are of type "ordering".
When backing up the course in 3.11 and restoring it in 4.04, it appears that some of the answers, particularly relating to the "ordering" questions, are not imported.
I noticed that there is a local format_questiontext() in question.php. It just calls the parent function, then calls stripslashes() on the returned question text, which results in the backslashes being removed.
Other question-types don't seem to do this, and backslashes can be useful..
Suggest removing the local function unless there is good reason for it to be there?
This is a concern that puzzles me. When I submit a horizontal ordering exercise (jumbled words to compose a sentence), the feedback shows correctly ordered words in green, and incorrectly ordered words in red, except for the final item, which is shown in white background. This confuses me and I think the final item should be either red or green.
Hello Gordon,
Michelle and Joseph reported recently that the question was not working in the Adaptive mode. I did a test and it also seems to me that it does not work.
You mentioned in 2016 that this issue was solved. Please could you confirm whether it works in Adaptive mode or not.
Best regards.
Password salting for the site-wide was use up to Moodle 2.4
Since Moodle 2.5 : Moodle automatically generates and adds a different salt for each individual user.
See the documentations here : https://docs.moodle.org/401/en/Password_salting
Hi,
After updating to moodle version 3.3, quiz results are no longer displayed. I attach a screenshot.
Plugin Version: Release 2018-05-24 (69)
Moodle 3.4.2
Hello Gordon,
The names of these two grading types, "Longest ordered subset" and "Longest contiguous subset", seem to be reversed.
For the "Longest ordered subset" (should probably be called "Longest contiguous subset"), correct responses include several contiguous subsets, not just the longest. Is this the desired behavior? Does this conform to the definition given in the tooltip?
Of these several contiguous subsets identified in the correct responses, some contain just one item. Is this the desired behavior? I would think no.
Ordering Question worked great until I upgraded to Moodle 11.
http error 5000
Please let me know if there is anything planned for updating this question. It was just the right format for what I needed.
Thank you
Hello again,
When I use backup items into a course or sharing chart block for copying quizzes into two courses with qtype_ordering they fail to copy things into database. -> moodle_database::insert_record_raw() no fields found.
Questions are in different categories, but the error it's only with this type of questions, the draggable items are empty inside the copied questions, but not question name and description.
Any help?
Detectado un error de codificación, debe ser corregido por un programador:
moodle_database::insert_record_raw() no fields found.
Más información sobre este error
Debug info:
Error code: codingerror
Stack trace:
line 1083 of /lib/dml/mysqli_native_moodle_database.php: coding_exception thrown
line 1144 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
line 219 of /question/type/ordering/question.php: call to mysqli_native_moodle_database->insert_record()
line 58 of /question/type/ordering/question.php: call to qtype_ordering_question->get_ordering_options()
line 338 of /question/behaviour/behaviourbase.php: call to qtype_ordering_question->start_attempt()
line 954 of /question/engine/questionattempt.php: call to question_behaviour->init_first_step()
line 504 of /question/engine/questionusage.php: call to question_attempt->start()
line 209 of /mod/quiz/locallib.php: call to question_usage_by_activity->start_all_questions()
line 178 of /mod/quiz/startattempt.php: call to quiz_start_new_attempt()
Output buffer:
Thanks in advance!
Hi Gordon,
I was pleased to find the ordering question type. It is very useful to us but I have found an issue with the XML import and export. I does not export the gradingtype that we use nor will it import it. Looking at the code I can see why as it only appears to switch on one specific type and otherwise exports blank and defaults to gradingtype 1 on import.
Is this something that could be fixed ... I would be happy even if it just imported the gradingtype numbers as our main use for the XML is to import from a spreadsheet format we use internally.
Anyway thanks for providing this useful question type.
David
The ordering ones still work, even in 3.2. Just look into changing the Ajax header in "Additional html."
I hope this will benefit someone who wants help from the IT staff at their learning institution. If you approach them with the root of the problem, they are more likely to be able to help.
In addition to the Ajax header, the plugin installs must all be github installs.
Thanks again for your help. My Site is working great and I'm a happy camper.
Owari, Dave
KEY NAME="question" TYPE="foreign" FIELDS="question" REFTABLE="questions" REFFIELDS="id" PREVIOUS="primary"
=>
KEY NAME="question" TYPE="foreign" FIELDS="question" REFTABLE="question" REFFIELDS="id" PREVIOUS="primary"
Every now and then, we are running the admin/cli/check_database_schema.php script in our Moodle installation.
This time, this issue was highlighted:
-------------------------------------------------------------------------------
qtype_ordering_options
* column 'showgrading' has default '1', expected '0' (I)
-------------------------------------------------------------------------------
Upon investigation, I saw that there is a discrepancy between https://github.com/gbateson/moodle-qtype_ordering/blob/master/db/install.xml#L12 and https://github.com/gbateson/moodle-qtype_ordering/blob/master/db/upgrade.php#L225. The first defines a default of 0, the second (which became effective in our Moodle instance as we are using this plugin for a long time now) defines a default of 1.
May I ask you to add another step to db/upgrade.php which fixes the default for upgraded installations?
Thanks in advance,
Alex
Depends on order of responses in horizontal list, I assume it's because each image for each 'answer' is slightly different in height.
This would not, of course, be a problem if all images were precisely the same height, but as a general point, could we do anything where each 'row' is defined by the tallest image item, and thus any items on the additional rows would be left-aligned.
Ordering question type allows to create questions with draggable items longer than quiz statistics overview can handle.
'subqid' field is varchar(100). In lib/db/install.xml 'question_response_analysis' table is defined as follows:
<TABLE NAME="question_response_analysis" COMMENT="Analysis of student responses given to questions.">
<FIELDS>
...
<FIELD NAME="subqid" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"/>
...
</FIELDS>
...
</TABLE>
Error:
Error writing to database
[More information about this error|http://docs.moodle.org/35/en/error/moodle/dmlwriteexception]
×Debug info: Data too long for column 'subqid' at row 1
INSERT INTO mdl_question_response_analysis (hashcode,whichtries,questionid,variant,subqid,aid,response,credit,timemodified) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => '1afcbec028f7ca4b759200c2b2aa39303f30bdba',
1 => 'lasttry',
2 => '2443',
3 => 1,
4 => 'This is the second item. This item is quite long and you may enter this item and save the ordering question but you will get an error when you try to check statistics of the quiz and recalculate the data.',
5 => 2,
6 => 'Position 2',
7 => 0.33333333333333331,
8 => 1615364109,
)]
Error code: dmlwriteexception
×Stack trace: * line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
To reproduce this error:
It would be nice to not allow users to create content that the system cannot handle.
Ordering question item must be limited to 100.
Reproduced in LTS Moodle 3.5 and 3.9.
In Moodle tracker:
https://tracker.moodle.org/browse/MDL-71085
Students can not see images in quiz review mode, when the answer is wrong or partially wrong.
They do see the images without any issues while quiz attempt in progress. And also, when getting correct answers.
Looking at the image URL, I see the @@PluginFile@@ is not getting converted to a fully qualified Moodle URL.
Anyone experienced something weird like this?
Plugin Version: Version release name 2018-05-24 (69)
Moodle 3.4.2
Hello Gordon,
If you set "Item selection type" to "Select a contiguous subset of items",
set "Size of subset" to a value less than the total number of draggable items,
and set "Grading type" to any type,
then the number of items displayed to the student does not match the size of the chosen subset. In fact, it seems to be random. Is this really the desired behavior? I would think no.
Hi,
with your latest version 2016-01-23-(40) you added the two new grading types "Longest ordered subset" and "Longest contiguous subset". Unfortunately there's no help text to those new types.
Could you add such a help text?
Thanks and cheers,
Kathrin
Hi,
the plugin works fine with Moodle 4.0? When do you will publish updates about this?
questions can't be reordered on Moodle 3.6 when answering the question.
edit: updated to master and also not working.
Hi,
I have copied two quizes between two Moodle courses with some qtype_ordering questions. The original one is working properly but the one I have clonned shows me this error.
What ca I do? I have checked my mysql DB but this table does not exist.
Table "qtype_ordering" does not exist
More information about this error Debug info:
Error code: ddltablenotexist
Stack trace:
line 1128 of /lib/dml/mysqli_native_moodle_database.php: dml_exception thrown
line 219 of /question/type/ordering/question.php: call to mysqli_native_moodle_database->insert_record()
line 58 of /question/type/ordering/question.php: call to qtype_ordering_question->get_ordering_options()
line 338 of /question/behaviour/behaviourbase.php: call to qtype_ordering_question->start_attempt()
line 954 of /question/engine/questionattempt.php: call to question_behaviour->init_first_step()
line 504 of /question/engine/questionusage.php: call to question_attempt->start()
line 209 of /mod/quiz/locallib.php: call to question_usage_by_activity->start_all_questions()
line 178 of /mod/quiz/startattempt.php: call to quiz_start_new_attempt()
By the way the Draggable items (Item text) are empty in the quiz copy... Does it make any sense?
Thanks in advance!
I'm using Moodle 2.7.1 and qtype_ordering version 2015013018 (last release)
Hi,
we are still using the old qtype_order. Is there a way how to transfer everything to the new qtype_ordering?
Thanks!
Moodle: 3.0
plugin version: 2016022445
Ordering of options doesn't work on iOS devices - can't drag& drop the options. Works fine on desktops.
Currently we use other question type for ordering questions, but your plugin looks better. But we need to use pictures into the answers. I have found that i can add them and all works great. But when i try to export questions into moodlexml and reimport them, i found that pictures are not saved and code does not contain commands for exporting attached files.
When a student submits his / her solution then follwing message occurs:
Necessary properties missing in userto object, fetching full record
line 95 of /lib/messagelib.php: call to debugging()
line 1451 of /mod/quiz/locallib.php: call to message_send()
line 1531 of /mod/quiz/locallib.php: call to quiz_send_notification()
line 1644 of /mod/quiz/locallib.php: call to quiz_send_notification_messages()
line ? of unknownfile: call to quiz_attempt_submitted_handler()
line 155 of /lib/classes/event/manager.php: call to call_user_func()
line 89 of /lib/classes/event/manager.php: call to core\event\manager::process_buffers()
line 2411 of /lib/dml/moodle_database.php: call to core\event\manager::database_transaction_commited()
line 92 of /lib/dml/moodle_transaction.php: call to moodle_database->commit_delegated_transaction()
line 184 of /mod/quiz/processattempt.php: call to moodle_transaction->allow_commit()
Best regards,
Kathrin
Can no longer use site admin -> language -> open language pack for editing when this plugin is installed. This is due to some string identifiers having the same value when you ignore the case (as per a case insensitive database). These are specifically:
$string['numberingstyle123'] = '1., 2., 3., ...';
$string['numberingstyleabc'] = 'a., b., c., ...';
$string['numberingstyleABC'] = 'A., B., C., ...';
$string['numberingstyleiii'] = 'i., ii., iii., ...';
$string['numberingstyleIII'] = 'I., II., III., ...';
Moodle throws this error:
Error writing to database Debug: Duplicate entry 'en-479-numberingstyleABC' for key 'mdl_toolcust_lancomstr_uix'\nINSERT INTO mdl_tool_customlang (lang,componentid,stringid,original,master,timemodified,outdated,local,timecustomized) VALUES(?,?,?,?,?,?,?,?,?)\n[array (\n 0 => 'en',\n 1 => '479',\n 2 => 'numberingstyleABC',\n 3 => 'A., B., C., ...',\n 4 => 'A., B., C., ...',\n 5 => 1572628658,\n 6 => 0,\n 7 => NULL,\n 8 => NULL,\n)]\nError code: dmlwriteexception\n* line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown\n* line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()\n* line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()\n* line 191 of /admin/tool/customlang/locallib.php: call to mysqli_native_moodle_database->insert_record()\n* line 60 of /admin/tool/customlang/index.php: call to tool_customlang_utils::checkout()\n, referer: https://localhost/admin/tool/customlang/index.php?lng=en
Changing the string identifier to be something which doesn't clash when ignoring case fixes the issue.
We are currently using version 2016102657 on Moodle 3.4. We have an issue where a user returns to an ordering question they have already answered, the quiz does not remember the previous order that the answers were placed in. Is this an issue that has been rectified for the latest version of the plugin?
Hi,
in your latest version of your plugin (2015112333), you implemented the possibility to switch between editors or plain text.
When a user chooses for example the html editor, the changes affects the form only after he saved it.
So it would be great if you could add an auto refresh function when selecting another option, so that the chosen editor will load immediately and not only after a save action of the user.
Cheers, Kathrin
Hi. Just a quick note to confirm version 2019071292 under Moodle 3.7.1 (stable) appears to break the ability to customise language strings via Site administration > Language > Language customization. After installing version 2019071292, when attempting to customize strings in this way, the following error (with debugging enabled) is presented:
Error writing to database
More information about this error
Debug info: Duplicate entry 'en-487-numberingstyleABC' for key 'mdl_toolcust_lancomstr_uix'
INSERT INTO mdl_tool_customlang (lang,componentid,stringid,original,master,timemodified,outdated,local,timecustomized) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => 'en',
1 => '487',
2 => 'numberingstyleABC',
3 => 'A., B., C., ...',
4 => 'A., B., C., ...',
5 => 1564911546,
6 => 0,
7 => NULL,
8 => NULL,
)]
Error code: dmlwriteexception
Stack trace:
line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
line 191 of /admin/tool/customlang/locallib.php: call to mysqli_native_moodle_database->insert_record()
line 60 of /admin/tool/customlang/index.php: call to tool_customlang_utils::checkout()
After consulting the following page: https://moodle.org/mod/forum/discuss.php?d=219504&parent=1266277 I then queried the database as follows -
SELECT * FROM mdl_tool_customlang_components WHERE id = 487;
The resulting output is:
id | name | version
487 | qtype_ordering | 2019071292
After uninstalling version 2019071292, the error then goes away.
Hi,
Is it possible to add the option of supporting multiple correct answers in this type of question? For example, I would like to award grade point when it is either Item m
followed by Item n
or vice versa. That is the orderings "Item m
followed by Item n
" and "Item n
followed by Item m
" are both correct.
Please help and let me know if I can be of any use.
Thanks,
Chandru
I'm using the Longest Ordered Subset marking for with your Ordering plugin. I see that you've committed changes to this marking type. The marking before your commit looked ok to me in testing. Please explain what was wrong with it.
Thank you for contributing this useful plug-in.
Hi @gbateson,
I found an issue as below:
This work normally before.
We need to keep the number/letter when dragging the item.
Fixed will be provided soon.
Hi,
When opening our language pack for customizing, we're encountering a duplicate entry error for the numberingstyleABC string.
Debug info: Duplicate entry 'en_us-478-numberingstyleABC' for key 'mdl_toolcust_lancomstr_uix'
INSERT INTO mdl_tool_customlang (lang,componentid,stringid,original,master,timemodified,outdated,local,timecustomized) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => 'en_us',
1 => '478',
2 => 'numberingstyleABC',
3 => 'A., B., C., ...',
4 => 'A., B., C., ...',
5 => 1563974936,
6 => 0,
7 => NULL,
8 => NULL,
)]
Error code: dmlwriteexception
After reading https://moodle.org/mod/forum/discuss.php?d=219504 I think it's due to having both 'numberingstyleABC' and 'numberingstyleabc' lang strings due to case insensitivity.
I also noticed someone else having the same issue - https://moodle.org/mod/forum/discuss.php?d=388624&parent=1566571
Dragged answer becomes stuck in the "dragged" state when Browser security is enabled in the Test settings. Seems like mouseUp event fails to be processed for whatever reason. Works fine when Browser security is disabled.
Observed in the latest git release of the plugin (moodle-qtype_ordering-2018-12-21) in Moodle 3.6.1, using Firefox 64 and Firefox 52 ESR.
Hi Gordon,
I am unable to view response summary for the Ordering question type whilst in Quiz -> Results -> Responses.
Attempting to "download table data as" csv, xlsx, html or json also fails, showing nothing or "" for the Ordering question response. Below is the JSON output.
[["inks007","inks007","","","","[email protected]","Finished","1 July 2017 12:33 AM","1 July 2017 12:33 AM","8 secs","6.00","","True"]]
The responses render correctly whilst in the "Review attempt" page.
I am also unable to view the "right answer summary" and "response summary" whilst in question preview mode.
I am on Moodle 3.3+ (Build: 20170622) and using qtype_ordering version 2017-04-26 (58).
Help/fix would be appreciated. And thank you for making this question type available.
Moodle 4.1.6
Plugin version: 2023-09-29 (10)
Running statistics we get hundreds of warnings. They just repeat for (presumably) different attempts, so here are some examples.
Warning: Attempt to read property "answerformat" on null in /var/www/html/moodle40/question/type/ordering/question.php on line 298
Unexpected sub-part id encountered.
line 133 of /question/classes/statistics/responses/analysis_for_question.php: call to debugging()
line 194 of /question/classes/statistics/responses/analysis_for_question.php: call to core_question\statistics\responses\analysis_for_question->get_analysis_for_subpart()
line 134 of /question/classes/statistics/responses/analyser.php: call to core_question\statistics\responses\analysis_for_question->count_response_parts()
line 803 of /mod/quiz/report/statistics/report.php: call to core_question\statistics\responses\analyser->calculate()
line 772 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->analyse_responses_for_questions()
line 721 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->analyse_responses_for_all_questions_and_subquestions()
line 159 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->get_all_stats_and_analysis()
line 97 of /mod/quiz/report.php: call to quiz_statistics_report->display()
Unexpected class id 1 encountered.
line 87 of /question/classes/statistics/responses/analysis_for_subpart.php: call to debugging()
line 110 of /question/classes/statistics/responses/analysis_for_subpart.php: call to core_question\statistics\responses\analysis_for_subpart->get_response_class()
line 194 of /question/classes/statistics/responses/analysis_for_question.php: call to core_question\statistics\responses\analysis_for_subpart->count_response()
line 134 of /question/classes/statistics/responses/analyser.php: call to core_question\statistics\responses\analysis_for_question->count_response_parts()
line 803 of /mod/quiz/report/statistics/report.php: call to core_question\statistics\responses\analyser->calculate()
line 772 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->analyse_responses_for_questions()
line 721 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->analyse_responses_for_all_questions_and_subquestions()
line 159 of /mod/quiz/report/statistics/report.php: call to quiz_statistics_report->get_all_stats_and_analysis()
line 97 of /mod/quiz/report.php: call to quiz_statistics_report->display()
Warning: Undefined array key 11163912 in /var/www/html/moodle40/question/type/ordering/question.php on line 297
Warning: Attempt to read property "answer" on null in /var/www/html/moodle40/question/type/ordering/question.php on line 298
Warning: Attempt to read property "answerformat" on null in /var/www/html/moodle40/question/type/ordering/question.php on line 298
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.