Giter VIP home page Giter VIP logo

moodle-format_grid's People

Contributors

antriver avatar arborrow avatar danielneis avatar dmitriim avatar gjb2048 avatar hannaedelman avatar kastashov avatar mdjnelson avatar nadavkav avatar pgogy avatar sharpchi avatar syxton avatar tlock avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-format_grid's Issues

Managers & Course Creators Can't create new courses - Again

Hi Gareth,
Versions: Grid format 3.1.1.1 (Build: 2016060702) ----- Moodle 3.1.4+ (Build: 20170216)

I believe I'm experiencing an issue that someone else also had a few years back, however with one of the latest versions of Grid format.

My Issue:
https://moodle.org/mod/forum/discuss.php?d=357116

Someone else's experience and solution:
https://moodle.org/mod/forum/discuss.php?d=255101

I've just set the default course format back to the core 'Topics' format and Managers can now create courses again. (This doesn't seem to be affecting Collapsable Topics, only Grid).

Moodle 3.4+

I have tried to install the plugin on Moodle 3.4+ and Moodle 3.5+, and on both applications the theme doesn't show up. For some reason, even when I go and look in the theme directory, there is no directory there with any files in it.
If I manually place the files in the directory, still the theme doesn't show up in the Theme selector, nor does it show up as an option from the themes selector in the course settings.
All somewhat curious.
Any thoughts?
Ok, I see how this works now. My mistake and sorry for the post.

Moodle 3.5+

Hi,
Will this theme work with Moodle 3.5+?
Thanks,
Paul Raper

Use custom user profile fields for accessibility.

NTS: Conversation with Mags.

Custom user profile fields can have one of three visibility settings:

    Visible to everyone
    Not visible
    Visible to user

The Not visible setting would typically be set by an administrator who wants to hold private data on the users. The Visible to user setting would normally be selected for a field that holds sensitive information, while the Visible to everyone setting can be used for any type of information.

Therefore can use as a means of telling the Grid format to display as 'topics' format for a given user. Then screen reader software (such as JAWS: http://www.freedomscientific.com/Downloads/JAWS) can describe the whole page.

Embedded videos continue playing

When playing embedded youtube videos with the 'Fit the section popup to the window' set to yes the video continues to play if you click the next or previous arrow or close the section.

Embedded videos still load in one section per page mode.

From Ken: https://moodle.org/user/profile.php?id=2028626

We are using it with "Show one section per page". Our problem is that each section has multiple embedded videos and this is resulting in a very slow load of the main page. From what I can see the main page source includes all the content of the various sections even though they are not displayed when showing one section per page. Is this correct? Is there any way to avoid this?
...
I have done a test on an empty course and found the following
• I am using Moodle 3.0.5 (Build: 20160711) with the BCU theme
• I set up the course in topics format with one page per topic. In the first topic I added a label with an embedded youtube video.
• The page source for the main page does not contain any reference to that video which is what we would want.
• If you turn on edit mode the main page does contain the youtube video, indeed it displays it as it shows all the topics on one page to make editing easier.
• If I then change the course format to Grid format with edit mode off the page source for the main page does include the youtube embed data, even though it is not displayed on the page. Obviously if I turn on edit mode the video is actually displayed.

What I think is happening is that instead of not loading the data from each section when not in edit mode, you are loading it but not displaying it. This would not be a problem except that we are using the course to store numerous embedded videos (50+), so load times become a really issue. We would be happy to do a temporary hack of the code to get this working on our site, but are reluctant to do that if any future updates will need a similar hack.

In case it helps, below is the bit of code copied from the page source that includes the youtube link, sorry about the poor formating of this.

Missing closing DIV

On branch MOODLE_31 (haven't tested on others)

If you use "Show one section per page" settings then there is missing closing DIV which breaks page layout.

image

^^ "aside" sections should be outside of "region-main" container.

v2.9.1.8 broken in IE8

I know it's an old IE version but we found a simple one line fix so thought we'd share back.

In IE8 only the first and last grid elements open up in the modal, all other grid elements produce the following error when clicked:

Can't move the focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.

If you open modal with first or last and use arrows to navigate the other sections just appear blank.

Issue is on line 252:

firstactivity.focus();

The .focus() is being called before IE has time to render the content so if a small timeout is added before the focus it fixes it.

setTimeout(function() { firstactivity.focus(); }, 10);

YouTube embed not showing up in section (Chrome)

A YouTube video does not show up after a course page is freshly loaded.

Steps to replicate the issue:

  1. Add a Text-Label containing a YouTube embed iframe to any section
  2. reload the course page
  3. Open the section

The embedded YouTube video is not visible. After stepping back and forward in the sections or entering the section a second time, the embedded YouTube video is visible.

Open activities in a popup window

The grid format makes navigation for unexperienced users much easier to understand.
But if a section has activities like forum, feedback, qiz etc. they open flat and the user gets lost, because it not very logic how to go back to where they came from.
It would be logic, if the activity opens in the popup window and offers a similar close button like the section.
I think there could be a chance to find a way to offer such additional popups.
So much similar code is already there.

Unit test failing on deleting course

Hi,

We're upgrading to Moodle 3.2 and have the latest version (v2016111502) of the gird format.

Environment is as follows:
DB: postgres 9.5.5
OS: Linux 16.04
PHP: 7.0

When running the Moodle unit tests, we get the following error:

$ vendor/bin/phpunit core_coursecatlib_testcase lib/tests/coursecatlib_test.php
Moodle 3.2+ (Build: 20161215), 6114bfc8ce34bffd6b60907b4b56ea8b55f1a4bf
Php: 7.0.8.0.0.16.04.3, pgsql: 9.5.5, OS: Linux 4.4.0-53-generic x86_64
PHPUnit 5.5.7 by Sebastian Bergmann and contributors.

.....E...... 12 / 12 (100%)

Time: 4.91 seconds, Memory: 82.00MB

There was 1 error:

  1. core_coursecatlib_testcase::test_delete
    Unexpected debugging() call detected.
    Debugging: Callback delete_course is deprecated. Function format_grid_delete_course should be converted to observer of event \core\event\course_content_deleted
  • line 5011 of /lib/moodlelib.php: call to debugging()
  • line 4818 of /lib/moodlelib.php: call to remove_course_contents()
  • line 1692 of /lib/coursecatlib.php: call to delete_course()
  • line 1687 of /lib/coursecatlib.php: call to coursecat->delete_full()
  • line 329 of /lib/tests/coursecatlib_test.php: call to coursecat->delete_full()
  • line ? of unknownfile: call to core_coursecatlib_testcase->test_delete()
  • line 1085 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to ReflectionMethod->invokeArgs()
  • line 936 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestCase->runTest()
  • line 80 of /lib/phpunit/classes/advanced_testcase.php: call to PHPUnit_Framework_TestCase->runBare()
  • line 701 of /vendor/phpunit/phpunit/src/Framework/TestResult.php: call to advanced_testcase->runBare()
  • line 892 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestResult->run()
  • line 753 of /vendor/phpunit/phpunit/src/Framework/TestSuite.php: call to PHPUnit_Framework_TestCase->run()
  • line 465 of /vendor/phpunit/phpunit/src/TextUI/TestRunner.php: call to PHPUnit_Framework_TestSuite->run()
  • line 185 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_TestRunner->doRun()
  • line 115 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_Command->run()
  • line 47 of /vendor/phpunit/phpunit/phpunit: call to PHPUnit_TextUI_Command::main()
    Debugging: Callback delete_course is deprecated. Function format_grid_delete_course should be converted to observer of event \core\event\course_content_deleted
  • line 5011 of /lib/moodlelib.php: call to debugging()
  • line 4818 of /lib/moodlelib.php: call to remove_course_contents()
  • line 1692 of /lib/coursecatlib.php: call to delete_course()
  • line 1687 of /lib/coursecatlib.php: call to coursecat->delete_full()
  • line 329 of /lib/tests/coursecatlib_test.php: call to coursecat->delete_full()
  • line ? of unknownfile: call to core_coursecatlib_testcase->test_delete()
  • line 1085 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to ReflectionMethod->invokeArgs()
  • line 936 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestCase->runTest()
  • line 80 of /lib/phpunit/classes/advanced_testcase.php: call to PHPUnit_Framework_TestCase->runBare()
  • line 701 of /vendor/phpunit/phpunit/src/Framework/TestResult.php: call to advanced_testcase->runBare()
  • line 892 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestResult->run()
  • line 753 of /vendor/phpunit/phpunit/src/Framework/TestSuite.php: call to PHPUnit_Framework_TestCase->run()
  • line 465 of /vendor/phpunit/phpunit/src/TextUI/TestRunner.php: call to PHPUnit_Framework_TestSuite->run()
  • line 185 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_TestRunner->doRun()
  • line 115 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_Command->run()
  • line 47 of /vendor/phpunit/phpunit/phpunit: call to PHPUnit_TextUI_Command::main()
    Debugging: Callback delete_course is deprecated. Function format_grid_delete_course should be converted to observer of event \core\event\course_content_deleted
  • line 5011 of /lib/moodlelib.php: call to debugging()
  • line 4818 of /lib/moodlelib.php: call to remove_course_contents()
  • line 1692 of /lib/coursecatlib.php: call to delete_course()
  • line 329 of /lib/tests/coursecatlib_test.php: call to coursecat->delete_full()
  • line ? of unknownfile: call to core_coursecatlib_testcase->test_delete()
  • line 1085 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to ReflectionMethod->invokeArgs()
  • line 936 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestCase->runTest()
  • line 80 of /lib/phpunit/classes/advanced_testcase.php: call to PHPUnit_Framework_TestCase->runBare()
  • line 701 of /vendor/phpunit/phpunit/src/Framework/TestResult.php: call to advanced_testcase->runBare()
  • line 892 of /vendor/phpunit/phpunit/src/Framework/TestCase.php: call to PHPUnit_Framework_TestResult->run()
  • line 753 of /vendor/phpunit/phpunit/src/Framework/TestSuite.php: call to PHPUnit_Framework_TestCase->run()
  • line 465 of /vendor/phpunit/phpunit/src/TextUI/TestRunner.php: call to PHPUnit_Framework_TestSuite->run()
  • line 185 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_TestRunner->doRun()
  • line 115 of /vendor/phpunit/phpunit/src/TextUI/Command.php: call to PHPUnit_TextUI_Command->run()
  • line 47 of /vendor/phpunit/phpunit/phpunit: call to PHPUnit_TextUI_Command::main()

/home/user/clients/moodle/lib/phpunit/classes/advanced_testcase.php:88

To re-run:
vendor/bin/phpunit core_coursecatlib_testcase lib/tests/coursecatlib_test.php

ERRORS!
Tests: 12, Assertions: 169, Errors: 1.

Do you have plans to convert the callback function format_grid_delete_course() to an observer?

Thanks in advance.

gridcontainer alignment

moving from 3.1.x to V3.2.1.3 - noticed grid container not aligning per format setting. the "Set the image container alignment" sets #gridcontainer div to text align of left right or centre but it doesn't appear to make any difference - think it needs a width and or a float, but can't get it to sit right at my end. the setting should probably say it's the outer container setting perhaps? - the settings below that refer to the grid boxes. unless i'm totally confused... which is v possible :)
using latest 3.2 essential but same in clean.

Error when running on Moodle 3.1

I am using the single section page view.

This error displays on above the grid:
String does not exist. Please check your string definition for newactivityname/moodle line 9669 of /lib/moodlelib.php: call to debugging() line 58 of /course/classes/output/course_module_name.php: call to lang_string->__construct() line 712 of /course/renderer.php: call to core_course\output\course_module_name->__construct() line 973 of /course/renderer.php: call to core_course_renderer->course_section_cm_name() line 909 of /course/renderer.php: call to core_course_renderer->course_section_cm() line 1074 of /course/renderer.php: call to core_course_renderer->course_section_cm_list_item() line 299 of /course/format/grid/renderer.php: call to core_course_renderer->course_section_cm_list() line 115 of /course/format/grid/renderer.php: call to format_grid_renderer->make_block_topic0() line 151 of /course/format/grid/format.php: call to format_grid_renderer->print_multiple_section_page() line 280 of /course/view.php: call to require()

This error displays when underneath section0 on a single section page:

String does not exist. Please check your string definition for newactivityname/moodle line 9669 of /lib/moodlelib.php: call to debugging() line 58 of /course/classes/output/course_module_name.php: call to lang_string->__construct() line 712 of /course/renderer.php: call to core_course\output\course_module_name->__construct() line 973 of /course/renderer.php: call to core_course_renderer->course_section_cm_name() line 909 of /course/renderer.php: call to core_course_renderer->course_section_cm() line 1074 of /course/renderer.php: call to core_course_renderer->course_section_cm_list_item() line 779 of /course/format/renderer.php: call to core_course_renderer->course_section_cm_list() line 149 of /course/format/grid/format.php: call to format_section_renderer_base->print_single_section_page() line 280 of /course/view.php: call to require()

This error displays underneath the section title and section summary on the single section page. It is above the content of the selected section:

String does not exist. Please check your string definition for newactivityname/moodle line 9669 of /lib/moodlelib.php: call to debugging() line 58 of /course/classes/output/course_module_name.php: call to lang_string->__construct() line 712 of /course/renderer.php: call to core_course\output\course_module_name->__construct() line 973 of /course/renderer.php: call to core_course_renderer->course_section_cm_name() line 909 of /course/renderer.php: call to core_course_renderer->course_section_cm() line 1074 of /course/renderer.php: call to core_course_renderer->course_section_cm_list_item() line 816 of /course/format/renderer.php: call to core_course_renderer->course_section_cm_list() line 149 of /course/format/grid/format.php: call to format_section_renderer_base->print_single_section_page() line 280 of /course/view.php: call to require() String does not exist. Please check your string definition for newactivityname/moodle line 9669 of /lib/moodlelib.php: call to debugging() line 58 of /course/classes/output/course_module_name.php: call to lang_string->__construct() line 712 of /course/renderer.php: call to core_course\output\course_module_name->__construct() line 973 of /course/renderer.php: call to core_course_renderer->course_section_cm_name() line 909 of /course/renderer.php: call to core_course_renderer->course_section_cm() line 1074 of /course/renderer.php: call to core_course_renderer->course_section_cm_list_item() line 816 of /course/format/renderer.php: call to core_course_renderer->course_section_cm_list() line 149 of /course/format/grid/format.php: call to format_section_renderer_base->print_single_section_page() line 280 of /course/view.php: call to require()

Screenshots attached

screen shot 2016-05-12 at 1 50 30 pm

PNG files in Grid fail when imported or uploaded.

Instead of getting the PNG file, it comes out Black. Using a GIF file works fine. Does not affect the rest of the course, just the GRID PNG files.

Moodle 2.9.1+ (Build: 20150806)
Grid format
format_grid
Additional 2015062202 2.9.1.2

Cannot change image tiles when importing a grid format course

We're seeing the following issue on Moodle 3.3.3 with Grid Format 3.3.0.1:

  • Create new course, not using the Grid format
  • Import a course that is already in Grid format
  • Switch the format of the current (new) course to Grid, as format does not carry over on import
  • Note first that tile images do not carry over and will not appear
  • Turn Editing On
  • Scroll down to one the grid tiles and click Change image
  • Drag an image into the box and save it
  • The image does not "stick" and will not be on the tile

If the new course is on the Grid Format before conducting the import then the image tiles work as expected. Switching the new (broken) course back to another format and then back to Grid does not reset it, nor do any of the Grid reset options within the format options menu.

Not being able to move from one section to another using HTML links

Hello Gareth,

Moodle 3.1.2 (Build: 20160912), GRID format: 3.1.1.0 2016060701

I'm trying out the Grid plugin for a new course. It's quite nice and suits the course best. Thank you. I just have one problem I'm trying to sort out:
I have set up the first section to serve as an index to topics covered in other sections and I would like to use HTML links to transit to the relevant section, but I can't seem to get it to work as desired.

I'm using these settings:
Course Layout: Show all sections on one page
Fit section popup to window: Yes

I've noticed that as mentioned on the plugin page by another user that if the Course Layout is set to: Show one section per page then it works fine. But with the way I have it set the link does not work if opening in the same window. However, if I set the link to open in a new window it works, but I prefer the student to remain on one screen.
The format of the link I'm using is: course id#section-number as seen in the screenshots below. (These are from my test system not the one with the index of topics...)
grid_link1

When it opens in a new window:
grid_link2

Is it possible to do what I'm trying to do?

Thanks in advance.

Regards.
sali

Pointless try...catch block in setup_displayed_image() (lib.php)

The very big try...catch block in this function seems pointless. It doesn't do anything to recover from a problem it just masks the actual error if something goes wrong. The actual error messages that are peppered throughout the try{} block will likely never be called. The much less specific ones in the catch{} block will be preferred.

Stealth activities

Hi Gareth,

Someone reported this in the Moodle forums, and I was able to reproduce it. The option to use Stealth Activities is unavailable with the Grid format for any new activities.
Please see screenshot. You'll see one activity (Announcements) that was there already and set to stealth mode. I changed the course format to grid format, and I added another item (Label). The option to make available/unavailable is not visible on the course page or in 'Common Module Settings' in the label settings.

image

If I change back to topics format, the option to change to stealth mode still does not appear for this label. However, if I add new activities again I can enable stealth mode.
Interestingly, I am am now unable to duplicate the labels (undefined error). I don't if it's related or not but including it just in case.

Compatibility with Boost, Moodle 3.2

Will you be doing an update for Moodle 3.2, the Boost theme? There are a couple of issues currently:

  • Grid format modal is cut off on top
    screen shot 2017-02-20 at 1 25 13 pm
  • Grid format modal gets hidden by nav drawer on left
    screen shot 2017-02-20 at 1 24 43 pm
  • Modals inside grid format modal are greyed out
    screen shot 2017-02-20 at 1 25 25 pm

Student section availability

Ref: https://moodle.org/mod/forum/discuss.php?d=332795

Can replicate on M2.9 and M3.0 - is down to the fact that the grid box is there and links to the view page which would not normally happen - Topics format displays the section availability message and no link to the actual single section page. The core baulks before the course format is called when trying to reach that page.

Format fails because there is no 'list' of sections, just the icon boxes that link.

Not sure about solution yet.

No visual feedback of hidden sections

The 'box' for a hidden section is not displayed at all for students. However, for staff, there is no visual feedback at all that the block is hidden. This sometimes leads to mistakes with them not realising it has been hidden.

It would be very useful if it could be styled differently or a 'hidden from students' label floated over the image to make this clear.

Incorrect word in 'defaultsectiontitleboxinsideposition' setting option

Hi Gareth,

Grid Version: 3.1.1.1 / 2016060702.

I've just found a small mistake on the Grid format Settings page...
I've tracked it down to the settings.php file / line 172.
"sectiontitleboxinsidepositionmiddle" should be "sectiontitleboxinsidepositionbottom"


$name = 'format_grid/defaultsectiontitleboxinsideposition';
$title = get_string('defaultsectiontitleboxinsideposition', 'format_grid');
$description = get_string('defaultsectiontitleboxinsideposition_desc', 'format_grid');
$default = format_grid::get_default_section_title_box_inside_position();
$choices = array(
1 => new lang_string('sectiontitleboxinsidepositiontop', 'format_grid'),
2 => new lang_string('sectiontitleboxinsidepositionmiddle', 'format_grid'),
3 => new lang_string('sectiontitleboxinsidepositionmiddle', 'format_grid')
);

Grid format and performance/ blackfire.io

grid-format-blackfire
Hello

I've recently been playing with blackfire.io and noticed that on a moodel course that uses the grid format that black fire shows a significant part of the loading times is becuase of grid format. I wonder if this info was relevant and perhaps something that could be looked into.

Please see the attached image that a page load on one of my sample courses where the grid format takes 42% of the load time, in particular the make_block_icon_topics function

Allow students to click through units

It'd be great to have the option to open a new tab upon clicking a unit link in the format_grid plugin. Perhaps it'd be good to add a configurable option.

If you don't have time to work on this I'd be happy to help implement it myself, but I'd need some guidance.

Thanks a lot.

Text not correctly escaped in grid popovers

When you hover over a grid title on a course page, the topic summary appears in a popup.

If the topic summary happens to include non-breaking spaces, the popover shows these as " ".

Steps to reproduce:

  • Edit a topic's summary. Use Atto's "code view" to add " " somewhere in the summary.
  • Check the summary displays properly when the topic is viewed, correctly replacing   with a space.
  • Mouse over the topic's title on the course landing page. Notice the " " appears in the popup.

info.png file on topic zero from M2.7 version

RE: info.png file on topic zero

When we try to delete the image, it will not go away. It's Moodle 2.9. Any new
courses that we create don't have the issue. The course was created when we had
Moodle 2.7.

From: Caitlyn Duggan

Screenreader Not Reading Lightbox Content

Here is the link to a screen recording of NVDA going through grid format: https://ensemble.nmc.edu/Watch/Dn86BqNt

To start I used the tab key to navigate down to the first topic "Syllabus, Schedule & Announcements" and used the Enter key to open it. (10 second mark of video)

You can hear that once the topic is opened and the popup of information is there the screenreader doesn't see it or read it.

I use my arrow keys to try and navigate, but you can hear that I am continuing to navigate through the other topics on the home page. You can see this when I get to Ch. 2 Module, then it goes to Ch. 3, and then Ch. 4. (28 second mark of video)

Then I tried navigating with the tab key, you can see now that when I tab between the grid choices the popup window reflects which topic I am on, but I still can't get into the popup to read the content. (56 second mark of the video)

Finally, I try the esc key. Which just closes the popup, and was never able to read any content in the popup.

We have also had a high-level, expert user of JAWS and NVDA try to read the Grid Format and he has the same issues that we have demonstrated in this video. Please let us know if there are is more information we can provide. Thanks for your time.

Grid Alignment for Missing Images

Hi, I think this is may not be an issue (it could be an enhancement though), but we could add an option to properly align all sections even when there is a missing image.

Example:
selection_001

We achieved that by 'mimicking' an empty image when it was blank.

Example:
selection_003

Cheers,
Daniel

Grid sometimes loads with blocks misaligned

This is intermittent but reasonably easy to reproduce. Here is an example with the Clean theme...

screen shot 2016-01-18 at 11 35 04

Here with the Bootstrap3 (optional) theme...

screen shot 2016-01-18 at 11 41 47

This seems to happen with any Grid format course. Just reloading the page a few times is enough for it to happen. Oddly, merely mousing over the block is usually enough to properly align it.

It's more pronounced on a big monitor with the page view as wide as possible. I tested this on Moodle 2.9.3 and Grid format version 2015062205.

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.