Changes

Jump to navigation Jump to search
2,661 bytes added ,  13:22, 29 May 2018
Adds sloccount
This page serves to inventory and assess the mix of extensions that are in use for the DCS wiki. Code for "regular" extensions are hosted on Gerrit at the WMF (which is also mirrored to GitHub) with documentation at https://www.mediawiki.org/wiki. Code for the DCS extensions is in the [https://github.com/debtcompliance/mediawiki/tree/master/extensions private Debt Compliance GitHub repo]; and the Organic Design extensions are in the [https://github.com/OrganicDesign/extensions/tree/master/MediaWiki 'MediaWiki' tree of the Organic Design GitHub repo].
 
== Mime Report ==
In the DCS custom extensions, here are the file counts by file-type:
 
14 .css
6 .gif
1 .ico
1 .jpg
9 .js
43 .json
69 .php
8 .pl
4 .png
1 .svg
 
 
== Source Code Summary ==
{| class="wikitable sortable"
|-
! SLOC !! Directory !! SLOC-by-Language (Sorted)
|-
| 1873 || DcsJobAdmin || perl=985,php=779,javascript=109
|-
| 751 || DcsCommon || php=548,javascript=203
|-
| 551 || DcsSearch || javascript=282,php=269
|-
| 481 || DcsNamespaces || php=425,javascript=56
|-
| 379 || DcsAmmendments || php=203,javascript=176
|-
| 315 || DcsTitle || php=315
|-
| 269 || DcsSingleSignOn || php=269
|-
| 258 || DcsSection || php=258
|-
| 230 || DcsNuke || php=230
|-
| 208 || DcsComplianceChecklist || php=208
|-
| 178 || DcsExportTerms || php=178
|-
| 168 || DcsComplianceChecklist2 || php=168
|-
| 158 || DcsGroupAdmin || php=158
|-
| 139 || DcsWatchComments || php=139
|-
| 123 || DcsUserDisable || php=78,javascript=45
|-
| 110 || DcsLoanPages || php=110
|-
| 104 || DcsBaskets || php=57,javascript=47
|-
| 90 || DcsSkin || php=90
|-
| 88 || DcsFindTitle || php=88
|-
| 70 || DcsUploadedFiles || php=70
|-
| 40 || DcsEmailLink || php=40
|-
| 0 || DcsSection2 || (none)
|-
|}
 
Totals grouped by language (dominant language first):
{| class="wikitable sortable"
|-
!! php: || 4680 (71.09%)
|-
!! perl: || 985 (14.96%)
|-
!! javascript: || 918 (13.95%)
|-
|}
 
 
 
 
Total Physical Source Lines of Code (SLOC) = 6,583
Development Effort Estimate, Person-Years (Person-Months) = 1.45 (17.36)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months) = 0.62 (7.40)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule) = 2.35
Total Estimated Cost to Develop = $ 195,428
(average salary = $56,286/year, overhead = 2.40).
== "Regular" Extensions ==
The class creates methods for outputting messages, notices, dates, getting [https://gerrit.wikimedia.org/g/mediawiki/core/+/master/includes/content/ContentHandler.php#86 raw content].
 
It loads some javascript (through resource loader). That [https://github.com/debtcompliance/mediawiki/blob/master/extensions/DcsCommon/modules/dcscommon.js javascript] could more easily be maintained as MediaWiki:Common.js? although there may be load order issues. The JS defines like-named methods with varying features. E.g. <blockquote>Check if the passed page title string is in a loan namespace, returns boolean. Note that this function only checks if the namespace is in the list of all loan namespaces, it doesn't do any checks for whether the namespace is in use, or whether the title is in a DCS_TOC article like the DcsCommon::isLoanPage PHP function.</blockquote>
The series of extensions create [https://github.com/debtcompliance/mediawiki/blob/bf8a1096e71d2e997c626b9d6e33b4799ba4a87e/extensions/DcsEmailLink/DcsEmailLink.php#L4 DcsInit()] (in DcsEmailLink), DcsBlockPageAccess(), and DcsReady() hook functions. DcsReady() implementations are different across different classes from Basket to [https://github.com/debtcompliance/mediawiki/blob/93999818fd46c2075638120b12d4f684968daa90/extensions/DcsSingleSignOn/DcsSingleSignOn.php#L42 DcsSingleSignOn].
4,558

edits

Navigation menu