Developer Area/MochiKit in Mahara

From Mahara Wiki
Jump to navigation Jump to search

MochiKit needs to be removed from Mahara since it's unmaintained and unnecessary alongside jQuery (https://bugs.launchpad.net/mahara/+bug/1323920). This page lists the places it is still used, both as a basic list and grouped by function to (hopefully) make it easier to refactor nicely.

The list, for the most part, has been automatically generated by this tool, which detects Mochikit function names. It has been manually reviewed for false positives, and other Mochikit patterns that the tool does not detect such as $() have been added manually.

MochiKit in PHP files

Picked up via automated tool: Picked up via automated tool:

  • account/index.php
  • admin/groups/archives.php
  • admin/groups/groupcategories.php
  • admin/groups/groups.php
  • admin/site/fonts.php
  • admin/site/menu.php
  • admin/site/views.php
  • admin/statistics.php
  • admin/upgrade.php
  • admin/users/addauthority.php
  • admin/users/institutionadmins.php
  • admin/users/institutionpages.php
  • admin/users/institutions.php
  • admin/users/institutionstaff.php
  • admin/users/institutionusers.php
  • admin/users/pendingregistrations.php
  • admin/users/progressbar.php
  • admin/users/search.php
  • admin/users/statistics.php
  • admin/users/suspended.php
  • artefact/annotation/lib.php
  • artefact/blog/index.php
  • artefact/blog/view/index.php
  • artefact/file/profileicons.php
  • artefact/internal/blocktype/textbox/lib.php
  • artefact/resume/lib.php
  • auth/lib.php
  • blocktype/creativecommons/lib.php
  • blocktype/wall/lib.php
  • group/members.php
  • group/topics.php
  • group/view.php
  • index.php
  • interaction/forum/lib.php
  • lib/form/elements/artefactchooser.php
  • lib/form/elements/checkboxes.php
  • lib/form/elements/filebrowser.php
  • lib/form/renderers/maharatable.php
  • lib/institution.php
  • module/multirecipientnotification/inbox.php
  • module/multirecipientnotification/outbox.php
  • tags.php
  • user/find.php
  • user/myfriends.php
  • user/view.php
  • view/access.php
  • view/blocks.php
  • view/choosetemplate.php
  • view/groupviews.php
  • view/index.php
  • view/institutionviews.php
  • view/sharedviews.php
  • view/view.php
  • search/elasticsearch/index.php

Picked up manually:

  • admin/extensions/plugins.php
  • lib/form/elements/color.php
  • lib/form/elements/wysiwyg.php
  • lib/pieforms/pieform/elements/date.php
  • lib/pieforms/pieform/elements/expiry.php
  • lib/pieforms/pieform/elements/select.php
  • lib/pieforms/pieform/elements/textarea.php
  • selfsearch.php
  • theme/raw/templates/form/autocomplete.tpl
  • theme/raw/templates/form/emaillist.tpl
  • theme/raw/templates/form/files.tpl
  • theme/raw/templates/form/multitext.tpl
  • theme/raw/templates/form/userlist.tpl
  • theme/raw/templates/sideblocks/progressbar.tpl
  • theme/raw/templates/view/retractablejs.tpl
  • theme/raw/plugintype/artefact/blog/templates/blog.tpl
  • theme/raw/plugintype/artefact/blog/templates/view.tpl
  • theme/raw/plugintype/artefact/plans/blocktype/plans/templates/content.tpl
  • theme/raw/plugintype/artefact/blocktype/groupviews/templates/groupviews.tpl
  • theme/raw/plugintype/artefact/myfriends/templates/myfriends.tpl
  • theme/raw/plugintype/artefact/mygroups/templates/mygroups.tpl
  • theme/raw/plugintype/artefact/myviews/templates/myviews.tpl
  • theme/raw/plugintype/artefact/watchlist/templates/watchlist.tpl

MochiKit in JS files

Picked up via automated tool:

  • artefact/blog/blocktype/taggedposts/js/taggedposts.js
  • artefact/file/js/filebrowser.js
  • artefact/plans/blocktype/plans/js/plansblock.js
  • blocktype/creativecommons/js/creativecommons.js
  • blocktype/openbadgedisplayer/js/configform.js
  • js/adminadduser.js
  • js/adminexportqueue.js
  • js/adminsiteoptions.js
  • js/adminsitepages.js
  • js/adminuploadcsv.js
  • js/adminusersearch.js
  • js/export.js
  • js/keyboardNavigation.js
  • js/mahara.js
  • js/paginator.js
  • js/searchtable.js
  • js/tablerenderer.js
  • js/viewmenu.js
  • js/views.js
  • lib/pieforms/static/core/elements/textarea.js
  • lib/pieforms/static/core/pieforms.js

Picked up manually:

  • artefact/annotation/blocktype/annotation/js/annotation.js

Custom MochiKit modules

  • js/Pager.js - only used in /htdocs/js/tablerenderer.js. /htdocs/js/paginator.js is an alternate pagination method.

Grouped into similar components/snippets

  • Editable list (admin/groups/groupcategories.php, admin/site/menu.php)
  • User search (js/adminexportqueue.js, js/adminusersearch.js)
  • Connecting pagination to search box
    • admin/groups/groups.php
    • admin/users/institutions.php
    • group/members.php
    • search/elasticsearch/index.php
    • user/find.php
    • user/myfriends.php
  • Reloading the page on select box change (bad for accessibility!)
    • admin/users/institutionusers.php
    • admin/users/pendingregistrations.php
    • admin/users/progressbar.php
    • admin/users/statistics.php
    • lib/institution.php
  • Focus element on load
    • admin/site/fonts.php
    • admin/site/views.php
    • view/groupviews.php
    • view/institutionviews.php
  • Form element hiding/showing
    • admin/users/addauthority.php - SSO and auth login message
    • admin/users/institutions.php - institution theme settings
    • view/access.php
  • Pagination initialization (artefact/blog/index.php, probably others)
  • Showing/hiding content of an expander (artefact/resume/lib.php:get_showhide_composite_js)
  • Blocktype inlinejs initialization (group/view.php, user/view.php, view/blocks.php, view/view.php)
  • Pieforms elements (lib/form/elements/{artefactchooser,checkboxes,filebrowser}.php)
  • Show upgrade progress (admin/upgrade.php)
  • Changing blog post status (artefact/blog/view/index.php)
  • Login form JS (auth/lib.php:get_login_form_js)
  • Adding wall posts (blocktype/wall/lib.php)