Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Talk:Javascript/Requirements: Difference between revisions

From MoodleDocs
(Yes - must have)
 
(3 intermediate revisions by one other user not shown)
Line 4: Line 4:
* The ability to load different content depending on the page requested ("must have" - really? -- Damyon)
* The ability to load different content depending on the page requested ("must have" - really? -- Damyon)
--[[User:Andrew Nicols|Andrew Nicols]] ([[User talk:Andrew Nicols|talk]]) 08:41, 1 September 2014 (WST)
--[[User:Andrew Nicols|Andrew Nicols]] ([[User talk:Andrew Nicols|talk]]) 08:41, 1 September 2014 (WST)
---- Do we really want to load all of the JS for every plugin (core and contrib) on every page? Even the login page? --[[User:Andrew Nicols|Andrew Nicols]] ([[User talk:Andrew Nicols|talk]])
* Aria support
* Aria support
--Damyon Wiese
--Damyon Wiese
Line 10: Line 11:


=== Good to have ===
=== Good to have ===
* Isolation such that the JavaScript packaged in a Moodle plugin cannot easily interfere with javascript in other Moodle plugins, or the Moodle core.
* Isolation such that the JavaScript packaged in a Moodle plugin cannot easily interfere with javascript in other Moodle plugins, or the Moodle core. (mudrd8mz: Let me suggest this is moved to Must have)
--[[User:Andrew Nicols|Andrew Nicols]] ([[User talk:Andrew Nicols|talk]]) 08:41, 1 September 2014 (WST)
--[[User:Andrew Nicols|Andrew Nicols]] ([[User talk:Andrew Nicols|talk]]) 08:41, 1 September 2014 (WST)
* Low barriers to entry for new developers
* Low barriers to entry for new developers
Line 16: Line 17:
* Set of common UI widgets
* Set of common UI widgets
-- Damyon Wiese
-- Damyon Wiese
* mudrd8mz: Nice, short and intuitive wrappers for common actions done in JS that allows you to do them easily - DOM manipulation, clever events handling (like Y.delegate) and AJAX calls handling come to my mind as the basic set
* mudrd8mz: Good to excellent docs for developers
* mudrd8mz: Tools available for JS minification and debugging (although not necessarily built-in)
* mudrd8mz: Existing dev community and solutions/style to follow


=== Icing on the cake ===
=== Icing on the cake ===
* mudrd8mz: Ability to re-use the code on the server side such as in node.js


=== Thing we do not want ===
=== Thing we do not want ===
* bloat
* bloat
-- Damyon Wiese
-- Damyon Wiese
* mudrd8mz: Something made by Google :-p

Latest revision as of 03:53, 4 September 2014

It would be helpful if you could add your signature below any additions to this list.

Must have

  • The ability to load different content depending on the page requested ("must have" - really? -- Damyon)

--Andrew Nicols (talk) 08:41, 1 September 2014 (WST)


Do we really want to load all of the JS for every plugin (core and contrib) on every page? Even the login page? --Andrew Nicols (talk)

  • Aria support

--Damyon Wiese

  • Long term support. At least as long as a LTS Moodle release cycle (but really this is the bare minimum - we want something that will not leave us in this position even 3 years down the track - more like 10!).

--Damyon Wiese

Good to have

  • Isolation such that the JavaScript packaged in a Moodle plugin cannot easily interfere with javascript in other Moodle plugins, or the Moodle core. (mudrd8mz: Let me suggest this is moved to Must have)

--Andrew Nicols (talk) 08:41, 1 September 2014 (WST)

  • Low barriers to entry for new developers

--Damyon Wiese

  • Set of common UI widgets

-- Damyon Wiese

  • mudrd8mz: Nice, short and intuitive wrappers for common actions done in JS that allows you to do them easily - DOM manipulation, clever events handling (like Y.delegate) and AJAX calls handling come to my mind as the basic set
  • mudrd8mz: Good to excellent docs for developers
  • mudrd8mz: Tools available for JS minification and debugging (although not necessarily built-in)
  • mudrd8mz: Existing dev community and solutions/style to follow

Icing on the cake

  • mudrd8mz: Ability to re-use the code on the server side such as in node.js

Thing we do not want

  • bloat

-- Damyon Wiese

  • mudrd8mz: Something made by Google :-p