MediaWiki  1.28.0
Todo List
Member $wgExtraNamespaces
Add a note about maintenance/namespaceDupes.php
Member $wgHashedUploadDirectory
Deprecate the setting and ultimately remove it from Core.
Class ApiUploadTest

Port the other Upload tests, and other API tests to this framework

Broken test, reports false errors from time to time. See https://phabricator.wikimedia.org/T28169

This is pretty sucky... needs to be prettified.

Class ApiWatchTest
This test suite is severly broken and need a full review
Class Article
Move and rewrite code to an Action class
Member Article::$mContent
BC cruft
Member Article::confirmDelete ($reason)
FIXME: Move to another file?
Parameters
string$reasonPrefilled reason
Member Article::fetchContentObject ()
When is this null?
Member Article::getRobotPolicy ($action, $pOutput=null)
actions other than 'view'
Class AvroValidatorTest
Test methods in this call should be split into a method and a dataprovider.
Member BackupDumper::backupDb ()
Fixme: the –server parameter is currently not respected, as it doesn't seem terribly easy to ask the load balancer for a particular connection by name.
Returns
DatabaseBase
Class BitmapMetadataHandler

Other image formats.

Member BitmapMetadataHandler::Tiff ($filename)
Add XMP support, so this function actually makes sense to put here.
Member Block::getTargetAndType ()
FIXME: This should be an integral part of the Block member variables
Member CacheTime::isDifferentRevision ($id)
We always return false if $this->getCacheRevisionId() is null; this prevents invalidating the whole parser cache when this change is deployed. Someday that should probably be changed.
Class Category
Move some stuff from CategoryPage.php to here, and use that.
Member CategoryFinder::seed ($articleIds, $categories, $mode= 'AND')
FIXME: $categories/$mode
File cdb.php

document

Class ChangesListSpecialPage
Way too many public functions, most of them should be protected
Member ChangesListSpecialPage::getExtraOptions ($opts)

This should handle options returned by getDefaultOptions().

Not called by anything, should be called by something… doHeader() maybe?

Member ChangeTags::MAX_DELETE_USES
Use the job queue for tag deletion to avoid this restriction
Class ChangeTagsLogItem
Abstract out a base class for this and RevDelLogItem, similar to the RevisionItem class but specifically for log items.
Since
1.25
Member Content::getTextForSearchIndex ()

Test that this actually works

Make sure this also works with LuceneSearch / WikiSearch

Member Content::getWikitextForTransclusion ()

Allow native handling, bypassing wikitext representation, like for includable special pages.

Allow transclusion into other content models than Wikitext!

Used in WikiPage and MessageCache to get message text. Not so nice. What should we use instead?!

Member ContentHandler::getAutoDeleteReason (Title $title, &$hasHistory)
&$hasHistory is extremely ugly, it's here because WikiPage::getAutoDeleteReason() and Article::generateReason() have it / want it.
Member ContentHandler::getFieldsForSearchIndex (SearchEngine $engine)
Expose title, redirect, namespace, text, source_text, text_bytes field mappings here. (see T142670 and T143409)
Member ContribsPager::formatRow ($row)
This would probably look a lot nicer in a table.
Parameters
object$row
Returns
string
Member Cookie::validateCookieDomain ($domain, $originDomain=null)

fixme fails to detect 3-letter top-level domains

fixme fails to detect 2-letter top-level domains for single-domain use (probably not a big problem in practice, but there are test cases)

Member CoreTagHooks::gallery ($content, $attributes, $parser)
break Parser::renderImageGallery out here too.
Member DatabaseInstaller::$parent
Naming this parent is confusing, 'installer' would be clearer.
Member DatabasePostgres::nativeInsertSelect ($destTable, $srcTable, $varMap, $conds, $fname=__METHOD__, $insertOptions=[], $selectOptions=[])
FIXME: Implement this a little better (seperate select/insert)?
Member DatabaseSqlite::implicitGroupby ()
Check if it should be true like parent class
Member DatabaseSqliteTest::testUpgrades ()
Currently only checks list of tables
Class DateFormatter

preferences, OutputPage

Member DBSiteStore::__construct (LoadBalancer $dbLoadBalancer)
: inject some kind of connection manager that is aware of the target wiki, instead of injecting a LoadBalancer.
Member DeletedContribsPager::formatRevisionRow ($row)
This would probably look a lot nicer in a table.
Parameters
stdClass$row
Returns
string
Member DeletedContribsPager::formatRow ($row)
This would probably look a lot nicer in a table.
Parameters
stdClass$row
Returns
string
File deleteOrphanedRevisions.php
More efficient cleanup of text records
Class Diff
document
Access:
private
Class DifferenceEngine

document

Member DifferenceEngine::generateTextDiffBody ($otext, $ntext)
move this to TextDifferenceEngine, make DifferenceEngine abstract. At some point.
Class DifferenceEngineTest
tests for the rest of DifferenceEngine!
Class DiffFormatter

document

File dumpMessages.php
Make this more useful, right now just dumps $wgContLang
Member EditPage::internalAttemptSave (&$result, $bot=false)
FIXME: This interface is TERRIBLE, but hard to get rid of due to various error display idiosyncrasies. There are also lots of cases where error metadata is set in the object and retrieved later instead of being returned, e.g. AS_CONTENT_TOO_BIG and AS_BLOCKED_PAGE_FOR_USER. All that stuff needs to be cleaned up some time.
Member EnhancedChangesList::makeCacheGroupingKey (RCCacheEntry $cacheEntry)
use rc_source to group, if set; fallback to rc_type
Member EnhancedChangesListTest::testEndRecentChangesList ()
more tests for actual formatting, this is more of a smoke test
Member EnhancedChangesListTest::testRecentChangesLine ()
more tests
Class EraseArchivedFile
Maybe add some simple logging
Member Exif::__construct ($file, $byteOrder= '')
FIXME: The following are broke: SubjectArea. Need to test the more obscure tags. DigitalZoomRatio = 0/0 is rejected. need to determine if that's valid. Possibly should treat 0/0 = 0. need to read exif spec on that.
Member ExifBitmapHandler::getRotationForExif ($data)
FIXME: Orientation can include flipping as well; see if this is an issue!
Class ExifRotationTest
covers tags
Member ExtensionProcessor::extractConfig (array $info)
In the future, this should be done via Config interfaces
Class FormOptions
This badly needs some examples and tests :) The usage in SpecialRecentchanges class is a good ersatz in the meantime.
Member GIFHandler::getImageArea ($image)
Add unit tests
Member HistoryPager::historyLine ($row, $next, $notificationtimestamp=false, $latest=false, $firstInList=false)
document some more, and maybe clean up the code (some params redundant?)
Member Html::inlineScript ($contents)
do some useful escaping as well, like if $contents contains literal "</script>" or (for XML) literal "]]>".
Class HTMLForm
Document 'section' / 'subsection' stuff
Member HTMLForm::displaySection ($fields, $sectionName= '', $fieldsetIDPrefix= '', &$hasUserVisibleFields=false)
Document
Member HTMLForm::setMessagePrefix ($p)
Currently only used for the "<fieldset>" legend on forms with multiple sections; should be used elsewhere?
Member HTMLForm::setSubmitID ($t)
FIXME: Integrity of $t is not validated
Returns
HTMLForm $this for chaining calls (since 1.20)
File HtmlFormatter.php
: remove in 1.28
Class HTMLSelectAndOtherField
FIXME: If made 'required', only the text field should be compulsory.
Member Http::isValidURI ($uri)
FIXME this is wildly inaccurate and fails to actually check most stuff
Class HttpErrorTest
tests for HttpError::report
Class HttpStatus
document
File IEContentAnalyzer.php
Define the exact license of this file.
Class IEUrlExtensionTest
tests below for findIE6Extension should be split into... ...a dataprovider and test method.
Member ImagePage::makeMetadataTable ($metadata)
FIXME: Bad interface, see note on MediaHandler::formatMetadata().
Member IPTC::timeHelper ($date, $time, $c)
Potentially this should also capture the timezone offset.
Parameters
array$dateThe date tag
array$timeThe time tag
string$cThe charset
Returns
string Date in EXIF format.
Class IPTest
Test methods in this call should be split into a method and a dataprovider.
Class JavaScriptContentHandler
Create a ScriptContentHandler base class, do highlighting stuff there?
Class JpegMetadataExtractorTest
Could use a test of extended XMP segments. Hard to find programs that create example files, and creating my own in vim propbably wouldn't serve as a very good "test". (Adobe photoshop probably creates such files but it costs money). The implementation of it currently in MediaWiki is based solely on reading the standard, without any real world test files.
Class JpegPixelFormatTest
covers tags
Member Language::convertHtml ($text, $isTitle=false)
this should get integrated somewhere sane
Member Language::formatNum ($number, $nocommafy=false)
check if it's viable to use localeconv() for the decimal separator thing.
Parameters
int | float$numberThe string to be formatted, should be an integer or a floating point number.
bool$nocommafySet to true for special numbers like dates
Returns
string
Member Language::sprintfDate ($format, $ts, DateTimeZone $zone=null, &$ttl= 'unused')
handling of "o" format character for Iranian, Hebrew, Hijri & Thai?
Member Language::translateBlockExpiry ($str, User $user=null)
Maybe translate block durations. Note that this function is somewhat misnamed: it deals with translating the duration ("1 week", "4 days", etc), not the expiry time (which is an absolute timestamp). Please note: do NOT add this blindly, as it is used on old expiry lengths recorded in log entries. You'd need to provide the start date to match up with it.
Member LanguageAr::normalize ($s)
FIXME: This is language-specific for now only to avoid the negative performance impact of enabling it for all languages.
Member LanguageArTest::testFormatNum ()
split into a test and a dataprovider
Member LanguageMl::normalize ($s)
FIXME: This is language-specific for now only to avoid the negative performance impact of enabling it for all languages.
Member LanguageNlTest::testFormatNum ()
split into a test and a dataprovider
File LanguageSrTest.php
methods in test class should be tidied:
  • Should be split into separate test methods and data providers
  • Tests for LanguageConverter and Language should probably be separate..
File LanguageUzTest.php
methods in test class should be tidied:
  • Should be split into separate test methods and data providers
  • Tests for LanguageConverter and Language should probably be separate..
Member LanguageYue::segmentByWord ($string)
FIXME: Only do this for Han characters...
Member LanguageZh_hans::segmentByWord ($string)
FIXME: Only do this for Han characters...
Class Linker
turn this into a legacy interface for HtmlPageLinkRenderer and similar services.
Member Linker::formatLinksInComment ($comment, $title=null, $local=false, $wikiId=null)
FIXME: Doesn't handle sub-links as in image thumb texts like the main parser
Member Linker::makeMediaLinkFile (Title $title, $file, $html= '')
Handle invalid or missing images better.
Class LinkFilter
implement the filter. Currently these are just some functions to help maintenance/cleanupSpam.php remove links to a single specified domain. The next thing is to implement functions for checking a given page against a big list of domains.
Member LinkSearchPage::getMaxResults ()
FIXME This special page should not use LIMIT for paging
Class LocalFileTest
Split tests into providers and test methods
Member LogPage::getTitleLink ($type, $lang, $title, &$params)
Document
Parameters
string$type
Language | null$lang
Title$title
array$params
Returns
string
File MagicVariableTest.php
covers tags
File mcc.php

document

Member MediaHandler::formatMetadata ($image, $context=false)
FIXME: This interface is not very flexible. The media handler should generate HTML instead. It can do all the formatting according to some standard. That makes it possible to do things like visual indication of grouped and chained streams in ogg container files.
Parameters
File$image
bool | IContextSource$contextContext to use (optional)
Returns
array|bool
Member MediaWiki::normalizeTarget (LinkTarget $target)
move the code from Linker actually here
Parameters
LinkTarget$target
Returns
LinkTarget
Member MediaWikiTitleCodec::splitTitleString ($text, $defaultNamespace=NS_MAIN)

this method is only exposed as a temporary measure to ease refactoring. It was copied with minimal changes from Title::secureAndSplit().

This method should be split up and an appropriate interface defined for use by the Title class.

Member MergeHistory::merge (User $user, $reason= '')
if all versions of page A are moved to B and then a user tries to do a reverse-merge via the "unmerge" log link, then page A will still be a redirect (as it was after the original merge), though it will have the old revisions back from before (as expected). The user may have to "undo" the redirect manually to finish the "unmerge". Maybe this should delete redirects at the source page of merges?
Class Message
  • test, can we have tests?
  • this documentation needs to be extended
Member Message::isBlank ()
FIXME: Merge with isDisabled()?
Member MimeAnalyzer::doGuessMimeType ($file, $ext)
Remove $ext param
Member MimeAnalyzer::getMediaType ($path=null, $mime=null)

analyse file if need be

look at multiple extension, separately and together.

Member MimeAnalyzer::isRecognizableExtension ($extension)
Be more accurate when using fancy MIME detector plugins; right now this is the bare minimum getimagesize() list.
Parameters
string$extension
Returns
bool
File mwdocgen.php

document

Author
Antoine Musso <hashar at="" free="" dot="" fr>="">
Brion Vibber
Alexandre Emsenhuber
Version
first release
Member MWHttpRequest::setData ($args)
overload the args param
Member MWLBFactory::getLBFactoryClass (array $config)
instead of this, use a ServiceContainer for managing the different implementations.
Class MWNamespaceTest

covers tags

FIXME: this test file is a mess

Member MWNamespaceTest::testCanTalk ()

Implement testGetCanonicalNamespaces().

Implement testGetCanonicalName().

Implement testGetCanonicalIndex().

Implement testGetValidNamespaces().

Member MWNamespaceTest::testEquals ()
Implement testExists().
Member MWNamespaceTest::testIsCapitalizedWithWgCapitalLinkOverrides ()
split groups of assertions in autonomous testing functions MWNamespace::isCapitalized
Member MWNamespaceTest::testIsMovable ()
Write more texts, handle $wgAllowImageMoving setting MWNamespace::isMovable
File MWTerm.php
Fixme: Make this more generic
Class OldChangesListTest
add tests to cover article link, timestamp, character difference, log entry, user tool links, direction marks, tags, rollback, watching users, and date header.
Member Orphans::checkWidows ($fix)
DON'T USE THIS YET! It will remove entries which have children, but which aren't properly attached (eg if page_latest is bogus but valid revisions do exist)
Class OutputPage

FIXME: Another class handles sending the whole page to the client.

document

Member OutputPage::$mScripts
We should split JS / CSS. mScripts content is inserted as is in "<head>" by Skin. This might contain either a link to a stylesheet or inline CSS.
Member OutputPage::disallowUserJs ()
this should be given a more accurate name
Class OutputPageTest
factor tests in this class into providers and test methods
Member PageArchive::listFiles ()
Does this belong in Image for fuller encapsulation?
Member Parser::setTransparentTagHook ($tag, $callback)
better document or deprecate this
Class ParserCache
document
Member ParserCache::getKey ($article, $popts, $useOutdated=true)
Document parameter $useOutdated
Class ParserIntegrationTest
covers tags
File ParserTestRunner.php

Make this more independent of the configuration (and if possible the database)

Member ParserTestRunner::parseOptions ($instring)
Move this to TestFileReader
Member ParserTestRunner::setupDatabase ($nextTeardown=null)
: This is basically an unrefactored copy of MediaWikiTestCase::setupAllTestDBs. They should be factored out somehow.
Member ParserTestRunner::teardownDatabase ()
Move most things here to CloneDatabase
Member PostgresUpdater::getCoreUpdateList ()
FIXME: Postgres should use sequential updates like Mysql, Sqlite and everybody else. It never got refactored like it should've.
Returns
array
Member poweredby
Reformat documentation.
Member poweredby
Reformat documentation.
Class Preprocessor_Hash
: Consider replacing descriptor arrays with objects of a new class. Benchmark and measure resulting memory impact.
Class ProtectedPagesPager

document

Member PurgeChangedPages::pageableSortedRows (ResultWrapper $res, $column, $limit)
move this elsewhere
File rebuildrecentchanges.php
Document
File rebuildtextindex.php
document
Class Revision
document
Member Revision::newFromArchiveRow ($row, $overrides=[])
FIXME: Should be a subclass for RevisionDelete. [TS]
Member RevisionItem::getDiffLink ()
Essentially a copy of RevDelRevisionItem::getDiffLink. That class should inherit from this one, and implement an appropriate interface instead of extending RevDelItem
Returns
string
Member RevisionItem::getHTML ()
Essentially a copy of RevDelRevisionItem::getHTML. That class should inherit from this one, and implement an appropriate interface instead of extending RevDelItem
Returns
string
Member RevisionItem::getRevisionLink ()
Essentially a copy of RevDelRevisionItem::getRevisionLink. That class should inherit from this one, and implement an appropriate interface instead of extending RevDelItem
Returns
string
Member Sanitizer::escapeClass ($class)
For extra validity, input should be validated UTF-8.
Member Sanitizer::mergeAttributes ($a, $b)
implement merging for other attributes such as style
Parameters
array$a
array$b
Returns
array
Member Sanitizer::validateAttributes ($attribs, $whitelist)

Check for legal values where the DTD limits things.

Check for unique id attribute :P

Member Sanitizer::validateTagAttributes ($attribs, $element)

Check for legal values where the DTD limits things.

Check for unique id attribute :P

Class SanitizerTest
Tests covering decodeCharReferences can be refactored into a single method and dataprovider.
Class SanitizerValidateEmailTest
all test methods in this class should be refactored and... use a single test method and a single data provider...
Member SearchEngine::getTextFromContent (Title $t, Content $c=null)
This isn't ideal, we'd really like to have content-specific handling here
Parameters
Title$tTitle we're indexing
Content$cContent of the page to index
Returns
string
Class SearchEngineDummy

FIXME: Dummy class should probably try something at least mildly useful, such as a LIKE search through titles.

Member SearchMssql::parseQuery ($filteredText, $fulltext)
document
Parameters
string$filteredText
bool$fulltext
Returns
string
Class SearchResult

FIXME: This class is horribly factored. It would probably be better to have a useful base class to which you pass some standard information, then let the fancy self-highlighters extend that.

File Setup.php
UGLY UGLY
Member SideBarTest::assertSideBar ($expected, $text, $message= '')
this assert method to should be converted to a test using a dataprovider..
Class SiteConfiguration
Give examples for, suffixes: $conf->suffixes = [ 'wiki' ]; localVHosts callbacks!
Member Skin::setupSkinUserCss (OutputPage $out)
delete
Class SkinTemplate
Needs some serious refactoring into functions that correspond to the computations individual esi snippets need. Most importantly no body parsing for most of those of course.
Member SkinTemplate::makeArticleUrlDetails ($name, $urlaction= '')
is this even used?
Class SpecialAllPages
Rewrite using IndexPager
Member SpecialBlock::getSuggestedDurations ($lang=null)
FIXME: This uses a rather odd syntax for the options, should it be converted to the standard "**<duration>|<displayname>" format?
Parameters
Language | null$langThe language to get the durations in, or null to use the wiki's content language
Returns
array
Member SpecialBlock::getTargetAndType ($par, WebRequest $request=null)
Should be in Block.php?
Parameters
string$parSubpage parameter passed to setup, or data value from the HTMLForm
WebRequest$requestOptionally try and get data from a request too
Returns
array( User|string|null, Block::TYPE_ constant|null )
Member SpecialContributions::contributionsSub ($userObj)
FIXME: Almost the same as getSubTitle in SpecialDeletedContributions.php. Could be combined.
Member SpecialMergeHistory::merge ()
if all versions of page A are moved to B and then a user tries to do a reverse-merge via the "unmerge" log link, then page A will still be a redirect (as it was after the original merge), though it will have the old revisions back from before (as expected). The user may have to "undo" the redirect manually to finish the "unmerge". Maybe this should delete redirects at the target page of merges?
Member SpecialPreferencesTest::testBug41337 ()
give this test a real name explaining what is being tested here
Member SpecialRevisionDelete::addUsageText ()
FIXME: Wikimedia-specific policy text
Member SpecialRevisionDelete::tryShowFile ($archiveName)
Mostly copied from Special:Undelete. Refactor.
Parameters
string$archiveName
Exceptions
MWException
PermissionsError
Member SpecialUpload::rotationEnabled ()
What about non-BitmapHandler handled files?
Member SpecialUploadStash::outputFileHeaders ($contentType, $size)
Unsure about encoding as binary; if we received from HTTP perhaps we should use that encoding, concatenated with semicolon to $contentType as it usually is. Side effect: preps PHP to write headers to STDOUT.
Parameters
string$contentTypeString suitable for content-type header
string$sizeLength in bytes
File SpecialWhatlinkshere.php
Use some variant of Pager or something; the pagination here is lousy.
Class StripState

document, briefly.

Class TableDiffFormatter
document
Access:
private
Member Title::getBrokenLinksFrom ()
check if needed (used only in SpecialBrokenRedirects.php, and should use redirect table in this case).
Returns
Title[] Array of Title the Title objects
Member Title::getUserPermissionsErrors ($action, $user, $rigor= 'secure', $ignoreErrors=[])
FIXME: This does not check throttles (User::pingLimiter()).
Member Title::isCssJsSubpage ()
FIXME: Rename to isUserConfigPage()
Member Title::isCssOrJsPage ()
FIXME: Rename to isSiteConfigPage() and remove deprecated hook
Member Title::validateFileMoveOperation ($nt)
move this to MovePage
Parameters
Title$ntTarget title
Returns
array List of errors
Member TitleFormatter::getNamespaceName ($namespace, $text)
Move this to a separate interface
Member TitlePermissionTest::testActionPermissions ()
This test method should be split up into separate test methods and data providers
Member TitlePermissionTest::testCssAndJavascriptPermissions ()
This test method should be split up into separate test methods and data providers
Member TitlePermissionTest::testPageRestrictions ()
This test method should be split up into separate test methods and data providers
Member TitlePermissionTest::testQuickPermissions ()
This test method should be split up into separate test methods and data providers
Member TitlePermissionTest::testSpecialsAndNSPermissions ()
This test method should be split up into separate test methods and data providers
Member TitleTest::testGetSubpageText ($title, $expected, $msg= '')
Handle $wgNamespacesWithSubpages cases provideSubpageTitleCases Title::getSubpageText
Member TransformationalImageHandler::getClientScalingThumbnailImage ($image, $scalerParams)
FIXME: No rotation support
Member UIDGenerator::singleton ()
: move to MW-specific factory class and inject temp dir
Returns
UIDGenerator
Class UncategorizedImagesPage
FIXME: Use an instance of UncategorizedPagesPage or something
Class UncategorizedPagesPage
FIXME: Make $requestedNamespace selectable, unify all subclasses into one
Class UnregisteredLocalFile
Currently it doesn't really work in the repository role, there are lots of functions missing. It is used by the WebStore extension in the standalone role.
File update.php

document

Member UploadBase::checkSvgScriptCallback ($element, $attribs, $data=null)
Replace this with a whitelist filter!
Parameters
string$element
array$attribs
Returns
bool
Member UploadStashTest::testBug29408 ()
give this test a real name explaining what is being tested here
Member User::passwordChangeInputAttribs ()
FIXME: This does not belong here; put it in Html or Linker or somewhere
Member User::saveSettings ()
Only rarely do all these fields need to be set!
Member UserrightsPage::groupCheckboxes ($usergroups, $user)
Just pass the username string?
Parameters
array$usergroupsGroups the user belongs to
User$user
Returns
string XHTML table element with checkboxes
Member WatchedItem::getTitle ()

remove in 1.28/9

Member wfAssembleUrl ($urlParts)
Need to integrate this into wfExpandUrl (see T34168)
Member wfClientAcceptsGzip ($force=false)

document

FIXME: We may want to blacklist some broken browsers

Member wfExpandIRI ($url)
handle punycode domains too
Member wfExpandUrl ($url, $defaultProto=PROTO_CURRENT)
this won't work with current-path-relative URLs like "subdir/foo.html", etc.
Member wfGetDB ($db, $groups=[], $wiki=false)
Replace calls to wfGetDB with calls to LoadBalancer::getConnection() on an injected instance of LoadBalancer.
Member wfLogProfilingData ()
document
Member wfNegotiateType ($cprefs, $sprefs)
FIXME: Doesn't handle params like 'text/plain; charset=UTF-8' XXX: generalize to negotiate other stuff
Member wfRemoveDotSegments ($urlPath)
Need to integrate this into wfExpandUrl (see T34168)
Member wfShowingResults ($offset, $limit)
document
Member WikiMap::getWikiName ($wikiID)
We can give more info than just the wiki id!
Parameters
string$wikiIDWiki'd id (generally database name)
Returns
string|int Wiki's name or $wiki_id if the wiki was not found
Member WikiPage::doRollback ($fromP, $summary, $token, $bot, &$resultDetails, User $user, $tags=null)

Separate the business/permission stuff out from backend code

Remove $token parameter. Already verified by RollbackAction and ApiRollback.

Member WikiPage::getActionOverrides ()
Move this UI stuff somewhere else
Member WikiPage::supportsSections ()

The skin should check this and not offer section functionality if sections are not supported.

The EditPage should check this and not offer section functionality if sections are not supported.

Member WikiPageTest::broken_testDoRollback ()
FIXME: this is a better rollback test than the one below, but it keeps failing in jenkins for some reason.
Member WikiPageTest::testDoRollback ()
FIXME: the above rollback test is better, but it keeps failing in jenkins for some reason. WikiPage::doRollback
Member WikiReference::getLocalUrl ($page, $fragmentId=null)
FIXME: This may be generalized...
Member WikiRevision::$fileIsTemp
Unused?
Member WikiRevision::$importer
Unused?
Member WikiRevision::$isTemp
Unused?
Member WikiRevision::$user
Can't find any uses. Public, because that's suspicious. Get clarity.
Member WikitextContentHandlerTest::testDataIndexFieldsFile ()

Text case requires database, should be done by a test class in the Database group

Text case requires database, should be done by a test class in the Database group

Member Xml::isWellFormed ($text)
Error position reporting return
Member XMPReader::parseExtended ($content)
In serious need of testing
See also
http://www.adobe.ge/devnet/xmp/pdfs/XMPSpecificationPart3.pdf XMP spec part 3 page 20
Parameters
string$contentXMPExtended block minus the namespace signature
Returns
bool If it succeeded.
Member XMPTest::testExtendedXMP ()
This is based on what the standard says. Need to find a real world example file to double check the support for this is right.