Extension inventory: Difference between revisions
consolidated table |
Add info on Aran's extensions |
||
| Line 22: | Line 22: | ||
I've put information about "[[Extension inventory/sloc|Source lines of code]]" into a sub-article. | I've put information about "[[Extension inventory/sloc|Source lines of code]]" into a sub-article. | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
| Line 39: | Line 38: | ||
|Yes | |Yes | ||
|Yes | |Yes | ||
| | |CirrusSearch (Elasticsearch) is vital to the ability to index uploaded files | ||
|- | |- | ||
|[[mw:Extension:Elastica|Elastica]] | |[[mw:Extension:Elastica|Elastica]] | ||
| Line 47: | Line 46: | ||
|Yes | |Yes | ||
|Yes | |Yes | ||
| | |Required as part of Search | ||
|- | |- | ||
|[[mw:Extension:Nuke|Nuke]] | |[[mw:Extension:Nuke|Nuke]] | ||
| Line 63: | Line 62: | ||
|Yes | |Yes | ||
|Yes | |Yes | ||
| | |At the bottom of the Special:Version page, you'll see a list of "Parser Function Hooks" that includes the following custom parser functions defined by DCS extensions: '''amendments''', '''companycomments''', '''compliancechecklist''', '''loans''', '''loansinuse''', '''section'''. Many of the others are provided by the Parser Functions extension: if, ifeq, switch, ifexist, ifexpr, iferror, time, timel, expr, rel2abs, titleparts, len, pos, rpos, sub, count, replace, explode | ||
|- | |- | ||
|[[mw:Extension:Pipe_Escape|PipeEscape]] | |[[mw:Extension:Pipe_Escape|PipeEscape]] | ||
| Line 92: | Line 91: | ||
|Adds ammendments section to DCS loan pages. Sysop (only) can add/delete/edit/re-order (up/down) the ammendments; UX [https://github.com/debtcompliance/mediawiki/blob/master/extensions/DcsAmmendments/modules/dcsammendments.js implemented in JavaScript]. Extends the API with the same functions. Adds new log type: amendments; and logs all actions. | |Adds ammendments section to DCS loan pages. Sysop (only) can add/delete/edit/re-order (up/down) the ammendments; UX [https://github.com/debtcompliance/mediawiki/blob/master/extensions/DcsAmmendments/modules/dcsammendments.js implemented in JavaScript]. Extends the API with the same functions. Adds new log type: amendments; and logs all actions. | ||
|Jan 2018 - new sort functionality ready for testing | |Jan 2018 - new sort functionality ready for testing | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|https://clienttest.dm.dcstemporary.com/ARCA14:1.5_Time_References | |https://clienttest.dm.dcstemporary.com/ARCA14:1.5_Time_References | ||
|- | |- | ||
| Line 100: | Line 99: | ||
|This extension allows the utilization column of the Baskets tables to be edited directly using AJAX and saving values into 'basket' tables rather than in the traditional wiki-text revision tables. | |This extension allows the utilization column of the Baskets tables to be edited directly using AJAX and saving values into 'basket' tables rather than in the traditional wiki-text revision tables. | ||
|1.4.3, 2018-05-25 | |1.4.3, 2018-05-25 | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|"Baskets" can be found in the hierarchy list of the leftnav under the 'Compliance' folder. The page name, by convention, is 'Baskets' e.g. https://clienttest.dm.dcstemporary.com/Baskets This is really neat, and very advanced. However, now that Visual Editor is available, I'd suspect that the user experience of editing large tables in Visual Editor would be much better. '''Replace Baskets with Visual Editor''' | |"Baskets" can be found in the hierarchy list of the leftnav under the 'Compliance' folder. The page name, by convention, is 'Baskets' e.g. https://clienttest.dm.dcstemporary.com/Baskets This is really neat, and very advanced. However, now that Visual Editor is available, I'd suspect that the user experience of editing large tables in Visual Editor would be much better. '''Replace Baskets with Visual Editor''' | ||
|- | |- | ||
| Line 119: | Line 118: | ||
The 'common' extension creates a singleton instance of the DcsCommon class that does a bunch of things according to [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcscommon notes in the wiki]. The permissions shouldn't really be hidden away in the class code. They should simply be in LocalSettings.php. onUserGetRights() is a big function. The 'self:cache' is mostly called in connection with 'isLocal'. Any true caching should just be offloaded to APC and memcache. Although there is no 'dcs' table in the database on dcsTemporary, the [https://github.com/debtcompliance/mediawiki/blob/master/extensions/DcsCommon/DcsCommon.php#L653 setData()] method is used throughout the codebase so should update [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcscommon wiki] about where this data is stored. | The 'common' extension creates a singleton instance of the DcsCommon class that does a bunch of things according to [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcscommon notes in the wiki]. The permissions shouldn't really be hidden away in the class code. They should simply be in LocalSettings.php. onUserGetRights() is a big function. The 'self:cache' is mostly called in connection with 'isLocal'. Any true caching should just be offloaded to APC and memcache. Although there is no 'dcs' table in the database on dcsTemporary, the [https://github.com/debtcompliance/mediawiki/blob/master/extensions/DcsCommon/DcsCommon.php#L653 setData()] method is used throughout the codebase so should update [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcscommon wiki] about where this data is stored. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|pervasive | |pervasive | ||
|- | |- | ||
| Line 127: | Line 126: | ||
|Provides a dropdown list of loans and responsibility terms by which the table can be filtered on the Checklist page (by convention). The parser function creates the page contents and form controls. | |Provides a dropdown list of loans and responsibility terms by which the table can be filtered on the Checklist page (by convention). The parser function creates the page contents and form controls. | ||
|recent (2017 - 2018) | |recent (2017 - 2018) | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|e.g. https://clienttest.dm.dcstemporary.com/Checklist | |e.g. https://clienttest.dm.dcstemporary.com/Checklist | ||
|- | |- | ||
| Line 135: | Line 134: | ||
|purpose? | |purpose? | ||
|release? | |release? | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|only used in the '''checktest''' subdomain, or when `wgLocalTesting`; intention is to use a timestamp condition | |only used in the '''checktest''' subdomain, or when `wgLocalTesting`; intention is to use a timestamp condition | ||
|- | |- | ||
| Line 143: | Line 142: | ||
|Allows you to send a link to a page in the wiki. Activated by the "Email Link" item in the primary navigation across the top of the page. Similar to the "Email Page" extension by Aran, which is also used. | |Allows you to send a link to a page in the wiki. Activated by the "Email Link" item in the primary navigation across the top of the page. Similar to the "Email Page" extension by Aran, which is also used. | ||
|11 months ago | |11 months ago | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|visit any page | |visit any page | ||
|- | |- | ||
| Line 151: | Line 150: | ||
|Allows terms to be downloaded in Comma Separated Value (CSV) format. CSV is easily imported to a spreadsheet. | |Allows terms to be downloaded in Comma Separated Value (CSV) format. CSV is easily imported to a spreadsheet. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|Visit https://clienttest.dm.dcstemporary.com/Category:Terms and you will see a "Export Terms" action in the primary navigation across the top of the page. | |Visit https://clienttest.dm.dcstemporary.com/Category:Terms and you will see a "Export Terms" action in the primary navigation across the top of the page. | ||
|- | |- | ||
| Line 159: | Line 158: | ||
|helps to find a title regardless of case-sensitivity of the system. | |helps to find a title regardless of case-sensitivity of the system. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|integrates with the API, however I'm unsure where it's visible/usable to the user. I believe it's used from the Ruby side to create links that will match a wiki page even if there is a case mismatch. If you wish to navigate to https://clienttest.dm.dcstemporary.com/ARCA14:TOC but request https://clienttest.dm.dcstemporary.com/arca14:toc instead, you'll get a 404 Not Found error. If you request https://clienttest.dm.dcstemporary.com/arca14:toc?action=findtitle then you will be redirected to the proper article. | |integrates with the API, however I'm unsure where it's visible/usable to the user. I believe it's used from the Ruby side to create links that will match a wiki page even if there is a case mismatch. If you wish to navigate to https://clienttest.dm.dcstemporary.com/ARCA14:TOC but request https://clienttest.dm.dcstemporary.com/arca14:toc instead, you'll get a 404 Not Found error. If you request https://clienttest.dm.dcstemporary.com/arca14:toc?action=findtitle then you will be redirected to the proper article. | ||
|- | |- | ||
| Line 167: | Line 166: | ||
|Leverages the DcsBlockPageAccess hook to allow/disallow access to files and namespaces. | |Leverages the DcsBlockPageAccess hook to allow/disallow access to files and namespaces. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|https://clienttest.dm.dcstemporary.com/Special:DcsGroupAdmin/equality | |https://clienttest.dm.dcstemporary.com/Special:DcsGroupAdmin/equality | ||
|- | |- | ||
| Line 195: | Line 194: | ||
According to [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcsjobadmin the documentation], it allows you to manage jobs. But, I'm wondering how much this is actually used? The job queue should be run automatically by cron, and the administrative user shouldn't have to worry about it really. If there is a usage pattern where job execution is time sensitive, there is a use for an Admin function; but I'm curious about the usage patterns that create large or numerous jobs. Otherwise, set wgJobRunRate to zero, and put it into cron `0 0 * * * root /usr/bin/php /var/www/example.com/www/w/maintenance/runJobs.php > /var/log/runJobs.log 2>&1` | According to [https://github.com/debtcompliance/mediawiki/wiki/Extensions#dcsjobadmin the documentation], it allows you to manage jobs. But, I'm wondering how much this is actually used? The job queue should be run automatically by cron, and the administrative user shouldn't have to worry about it really. If there is a usage pattern where job execution is time sensitive, there is a use for an Admin function; but I'm curious about the usage patterns that create large or numerous jobs. Otherwise, set wgJobRunRate to zero, and put it into cron `0 0 * * * root /usr/bin/php /var/www/example.com/www/w/maintenance/runJobs.php > /var/log/runJobs.log 2>&1` | ||
|2018-05-25 | |2018-05-25 | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| | | | ||
|- | |- | ||
| Line 203: | Line 202: | ||
|creates "backlinks" which are links to content that contain a particular keyword or phrase found in a loan document. It also creates the <nowiki>"< Prev" and "Next >"</nowiki> navigation links (called 'breadcrumbs' in the code, but actually these are 'pager' links not breadcrumbs). | |creates "backlinks" which are links to content that contain a particular keyword or phrase found in a loan document. It also creates the <nowiki>"< Prev" and "Next >"</nowiki> navigation links (called 'breadcrumbs' in the code, but actually these are 'pager' links not breadcrumbs). | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|If you go to a page like https://clienttest.dm.dcstemporary.com/ARCA14:Agreement You will see a large section of content called '''Index to ARCA14 pages containing "Agreement""'' So, in other words, it's a list of links to pages of the ARCA14 loan that have the word "Agreement" in them. These links are created by the extension. | |If you go to a page like https://clienttest.dm.dcstemporary.com/ARCA14:Agreement You will see a large section of content called '''Index to ARCA14 pages containing "Agreement""'' So, in other words, it's a list of links to pages of the ARCA14 loan that have the word "Agreement" in them. These links are created by the extension. | ||
|- | |- | ||
| Line 211: | Line 210: | ||
|Manages the segregation of loan documents into their own separate namespaces. Also provides some functionality around moving/deleting/renaming namespaces via the https://clienttest.dm.dcstemporary.com/Special:DcsNamespaces special page. | |Manages the segregation of loan documents into their own separate namespaces. Also provides some functionality around moving/deleting/renaming namespaces via the https://clienttest.dm.dcstemporary.com/Special:DcsNamespaces special page. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|e.g. https://clienttest.dm.dcstemporary.com/Special:DcsNamespaces | |e.g. https://clienttest.dm.dcstemporary.com/Special:DcsNamespaces | ||
|- | |- | ||
| Line 219: | Line 218: | ||
|purpose? | |purpose? | ||
|release? | |release? | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| REPLACE with [[mw:Extension:Nuke|standard Nuke extension]] | |REPLACE with [[mw:Extension:Nuke|standard Nuke extension]] | ||
|- | |- | ||
|DcsSearch | |DcsSearch | ||
|Extends the Elasticsearch backend with additional business logic, and new features and UX (saving search "favorites" and indexing link paths traversed in connection with a search query). See https://github.com/debtcompliance/mediawiki/wiki/Search-&-sorting | |Extends the Elasticsearch backend with additional business logic, and new features and UX (saving search "favorites" and indexing link paths traversed in connection with a search query). See https://github.com/debtcompliance/mediawiki/wiki/Search-&-sorting | ||
|a year ago | |a year ago | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|e.g. See the "heart" symbol next to the search box which implements the "favorites" feature. | |e.g. See the "heart" symbol next to the search box which implements the "favorites" feature. | ||
|- | |- | ||
| Line 235: | Line 234: | ||
|Allows for loan documents to be imported into the wiki as multiple articles. Creates a 'section reference' capability. | |Allows for loan documents to be imported into the wiki as multiple articles. Creates a 'section reference' capability. | ||
|in progress (v2) | |in progress (v2) | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| | | | ||
|- | |- | ||
| Line 243: | Line 242: | ||
|purpose? | |purpose? | ||
|release? | |release? | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| Unused - at least not on the development machine which is a clone of production. | |Unused - at least not on the development machine which is a clone of production. | ||
|- | |- | ||
|[https://github.com/debtcompliance/mediawiki/wiki/SSO-2017-specification DcsSingleSignOn] | |[https://github.com/debtcompliance/mediawiki/wiki/SSO-2017-specification DcsSingleSignOn] | ||
|Create a master/slave relationship with the Ruby on Rails application as the authentication and group mangement source; with the MediaWiki application synchronizing user information into it's local database. | |Create a master/slave relationship with the Ruby on Rails application as the authentication and group mangement source; with the MediaWiki application synchronizing user information into it's local database. | ||
|2017 major update | |2017 major update | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| For testing, you can access /wiki/extensions/dcs/DcsSingleSignOn/testLogin.php | |For testing, you can access /wiki/extensions/dcs/DcsSingleSignOn/testLogin.php | ||
|- | |- | ||
|[https://github.com/debtcompliance/mediawiki/wiki#the-dcs-skin DcsSkin] | |[https://github.com/debtcompliance/mediawiki/wiki#the-dcs-skin DcsSkin] | ||
|Custom 'style' to match DCS website / frontend QAR app | |Custom 'style' to match DCS website / frontend QAR app | ||
| 3.0.2, 2016-07-01 | |3.0.2, 2016-07-01 | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
| Skin by Aran Dunkley | |Skin by Aran Dunkley | ||
|- | |- | ||
|[https://github.com/debtcompliance/mediawiki/wiki/The-DcsTitle-class DcsTitle] | |[https://github.com/debtcompliance/mediawiki/wiki/The-DcsTitle-class DcsTitle] | ||
|Extends the regular MediaWiki title object class. Creates a custom cache of the TOC. | |Extends the regular MediaWiki title object class. Creates a custom cache of the TOC. | ||
|recent | |recent | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|yes | |yes | ||
|- | |- | ||
| Line 275: | Line 274: | ||
|Creates a special page listing all the files uploaded to loan documents orderd by loan namepsace then by article | |Creates a special page listing all the files uploaded to loan documents orderd by loan namepsace then by article | ||
|a year ago | |a year ago | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|https://clienttest.dm.dcstemporary.com/Special:DcsUploadedFiles | |https://clienttest.dm.dcstemporary.com/Special:DcsUploadedFiles | ||
|- | |- | ||
| Line 283: | Line 282: | ||
|Adds 'enable/disable' links to the User list | |Adds 'enable/disable' links to the User list | ||
|a year ago | |a year ago | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|https://clienttest.dm.dcstemporary.com/Special:ListUsers Why not use the [https://clienttest.dm.dcstemporary.com/Special:Block Special:Block] functionality built into core?I believe it's every bit as accessible through the API and thus could be used from QAR. | |https://clienttest.dm.dcstemporary.com/Special:ListUsers Why not use the [https://clienttest.dm.dcstemporary.com/Special:Block Special:Block] functionality built into core?I believe it's every bit as accessible through the API and thus could be used from QAR. | ||
|- | |- | ||
| Line 291: | Line 290: | ||
|Adds subscription to talk pages. | |Adds subscription to talk pages. | ||
|release? | |release? | ||
| no | |no | ||
| no | |no | ||
| no | |no | ||
|When I view my normal [https://clienttest.dm.dcstemporary.com/Special:EditWatchlist MediaWiki 'WatchList'], I don't see any loan talk pages added. I only see my user page. | |When I view my normal [https://clienttest.dm.dcstemporary.com/Special:EditWatchlist MediaWiki 'WatchList'], I don't see any loan talk pages added. I only see my user page. | ||
|- | |- | ||
|[https://github.com/OrganicDesign/extensions/tree/master/MediaWiki/AjaxComments AjaxComments] | |[https://github.com/OrganicDesign/extensions/tree/master/MediaWiki/AjaxComments AjaxComments] | ||
| Line 320: | Line 303: | ||
| | | | ||
|- | |- | ||
|[[mw:Extension:EmailPage|EmailPage]] | |[[mw:Extension:EmailPage|EmailPage]] | ||
| Adds a special page that allows you to send the rendered contents of a wiki page to a recipient. Activated by the "Email" item in the primary navigation across the top of the page. | |Adds a special page that allows you to send the rendered HTML contents of a wiki page to a recipient (or list). Dependant on PHPMailer (5.2.23) | ||
|2.4.4 (2017-04-26) | |||
|Used by [[wikiapiary:Extension:EmailPage|at least 38 wikis]] | |||
|no | |||
|no | |||
|Activated by the "Email" item in the primary navigation across the top of the page. | |||
|- | |- | ||
|[https://github.com/OrganicDesign/extensions/blob/master/MediaWiki/ExtraMagic/ExtraMagic_body.php ExtraMagic] | |[https://github.com/OrganicDesign/extensions/blob/master/MediaWiki/ExtraMagic/ExtraMagic_body.php ExtraMagic] | ||
|Adds extra [[mw:Help:Magic_words|Magic Words]] and Parser functions. | |Adds extra [[mw:Help:Magic_words|Magic Words]] and Parser functions. | ||
| | | | ||
| Line 336: | Line 319: | ||
| | | | ||
|- | |- | ||
|[https://github.com/OrganicDesign/extensions/tree/master/MediaWiki/jQueryUpload jQueryUpload] | |[https://github.com/OrganicDesign/extensions/tree/master/MediaWiki/jQueryUpload jQueryUpload] | ||
| | | | ||
|v1.4.5, 2016-08-28 | |v1.4.5, 2016-08-28 | ||
| | | | ||
| | |no | ||
| | |no | ||
| | | | ||
|- | |- | ||
|[[mw:Extension:PdfBook|PdfBook]] | |[[mw:Extension:PdfBook|PdfBook]] | ||
|The PdfBook extension composes a book from articles in a category and exports as a PDF file. | |The PdfBook extension composes a book from articles in a category, bullet list, or DPL query; and exports as a PDF file. Depends on [https://www.msweet.org/projects.php?Z1 HTMLDoc] | ||
| | |1.5.1 (2017-05-14) | ||
| | |Used by [[wikiapiary:Extension:PdfBook|at least 154 wikis]] | ||
| | |no | ||
| | |no | ||
| | | | ||
|- | |- | ||
|[[mw:Extension:TreeAndMenu|TreeAndMenu]] | |[[mw:Extension:TreeAndMenu|TreeAndMenu]] | ||
|Makes bullet lists into folder trees or dynamic drop-down menus.<br /><br />The drop-down menu functionality uses Son of Suckerfish which is 99% CSS, and the tree component is now using the FancyTree jQuery plugin rather than the dTree used in previous version of the TreeAndMenu extension. The new FancyTree has many options and plugins and is very extendable, please view the site and examples for more detail. | |Makes bullet lists into folder trees or dynamic drop-down menus.<br /><br />The drop-down menu functionality uses Son of Suckerfish which is 99% CSS, and the tree component is now using the FancyTree jQuery plugin rather than the dTree used in previous version of the TreeAndMenu extension. The new FancyTree has many options and plugins and is very extendable, please view the site and examples for more detail. | ||
| | |4.2.2 (2018-01-31) | ||
| | |Used by [[wikiapiary:Extension:TreeAndMenu|at least 137 wikis]] | ||
| | |no | ||
| | |no | ||
| | | | ||
|- | |- | ||