Jump to: navigation, search

We are in the process of migrating our development roadmap onto our GitHub issue tracker.

Todos without a target

Items marked with an "[independent]" are projects that could theoretically be done by an independent developer. If you're interested in helping SMW users, and/or becoming more involved in SMW development, by taking on such a project, and you have any questions, feel free to write about it to the mailing list.

On bugzilla

SMW core

Create a new Ask API interface

Contact person: Jeroen De Dauw

Create an Ask API that takes Ask query serializations, rather then the wikitext notation required by the current Ask API. Support for the Ask library needs to be implemented first.

New Ask query language parser

Contact person: Jeroen De Dauw

See Roadmap/Ask wikitext parser and formatter

Allow for multiple sources of data

Contact people: Yury Katkov && Jeroen De Dauw

Allow multiple sources of primary data in the SMW store rather then just wiki pages. This would allow extensions to add information to the store so it can be used as any in wiki defined information, while not having the problem that the data would be removed once the page to which it is attached is re-parsed or the store rebuild script is ran.

See also: User:Yury Katkov/s13n stands for semantification

Status: Many interested parties. No development work in SMW started yet. Jeroen De Dauw and Markus are looking into how to implement the same support in the Wikibase store which is currently being designed and written.

Make Special:Ask sane

Status : open Contact : Jeroen De Dauw (Tracking request: 37442)

Current ask code is not very decent and could benefit a lot from a full rewrite, making use of current MW and SMW features. Or it could just be ditched in favour of a new query UI if that gets created and brought to a usable and stable point.

Modernize maintenance scripts

Follow-up under #257 - Modernize maintenance scripts.

Refactor the SMWQueryProcessor

Contact person: Jeroen De Dauw

Refactor the SMWQueryProcessor to follow some OO design pattern. Right now it's a pile of static functions forming almost impressive spaghetti code. [independent]

  • Get rid of all the static functions and fields - can use the singleton pattern here.
  • Figure out which stuff is currently public while it should not be and make it protected.
  • Some methods are passing unused (inc obsolete) stuff around, which we should get rid off.
  • Some methods are passing around a lot of stuff, might be better to set stuff in an object.

Finish up new query UI

Contact person: Markus Krötzsch

Finish work on Special:QueryUI

Context refactoring

Status : open Contact : Jeroen De Dauw (Tracking request: 37445)

Many places in SMW currently pull in global state to do context dependent tasks. For instance wfLanguage, SMWOutputs::requireResource or $wgUser. We should use proper inversion of control here to inject the dependencies and make sure everything is nicely segregated so we only inject what is actually needed.

Relevant Articles:

JavaScript base for dynamic result formats

Contact person: Jeroen De Dauw

Add a small JavaScript base for interacting with the ask API that can be used by dynamic result formats to load additional data or re-load their data after page load.

Improve smwdoc

Contact person: Jeroen De Dauw

The #smwdoc parser hook allows for automatically documenting parameters supported by the result formats using Validator. Right now it just lists the name, type, default value and a small description. It could also list other info available, most notably the criteria, such as that it needs to be "one of these values" or "in the range of" or "be longer then x characters" or whatever. To not clutter the UI, this should be done in a way that it is not shown by default, but rather that the param info can be expanded (using some nice jQuery effects ofc :) when the user chooses to. This requires creating a separate display class for param info that just gets given a list of params, being completely SMW agnostic and places in the Validator extension (so it can be used by the #describe hook there as well) and then modifying #smwdoc to make use of this. [independent]

Other improvements that can be done to #smwdoc:

  • introducing the possibilty to control the appearance of the smwdoc table, either by introducing a seperate class for these tables out of the box or by allowing to specify a seperate class.

Inverse referencing in concepts

Inverse referencing as described in Help:Inverse_properties should also be possible for Help:Concepts! --Rolze (talk) 12:42, 18 September 2012 (CEST)

Use Wikibase Database

Contact person: Jeroen De Dauw

Replace the schema modification spaghetti code in the SQLStore with sane code using the WikibaseDatabase library.

See also: Wikibase QueryEngine

SMW-based extensions

Semantic Drilldown

Contact person: Yaron Koren

Planned and desired future developments for Semantic Drilldown:

  • the ability to drill down on concepts, not just categories.
  • fix the HTML and CSS of the Special:BrowseData page so that the last column doesn't get displaced by the list of categories. [independent]

Semantic Forms

Contact person: Yaron Koren

See the Semantic Forms "planned features" section.

Semantic Maps

Contact person: Jeroen De Dauw

See the mapping roadmap.

Semantic Result Formats

Contact person: Jeroen De Dauw or Yaron Koren

Plans for some of the formats defined in Semantic Result Formats:

  • Exhibit rewrite
  • 'outline' format - allow for the setting of a "sub-format" for each sub-grouping, using a new parameter perhaps called "innerformat=". [independent]
  • 'outline' format - add support for a "template=" parameter, similar to the ones found in various other formats. [independent]
  • 'ploticus' format - fix the security leak in this (currently-disabled) format. [independent]
  • 'timeline/eventline' format - add support for a "template=" parameter. [independent]
  • 'exhibit' format - there are various bugs in the Javascript that need to be fixed. [independent]

Semantic Project Management

The Semantic Project Management extension needs to be fixed to work with the latest version of Semantic MediaWiki. [independent]

A patch was provided with bug 35882 that has to be reviewed and committed. --[[kgh]] 16:30, 26 April 2012 (CEST)

Fix up SMWRegistry

Contact person: Jeroen De Dauw or Markus Krötzsch

SMWRegistry is an extrension written for this wiki that allows people to register their SMW wikis via Special:SMWAdmin, which then makes them displayed here on Special:SMWRegistry. Ths extension is rather old and could use some work:

  • It does not pull user count, page count, ect, data from recent MediaWikis. This could be fixed by using the API of the wiki being registered to obtain the data rather then doing weird HTML parsing.
  • The registry page here could be a lot nicer. It could use MediaWikis TablePager as a base, to end up having something like on this page.
  • The code in general could be improved, including utilization of more recent MediaWiki facilities.
  • It would be awesome if registration provided some hook or trigger for other scripts to do their stuff. We could have a twitter account and an IRC bot on the smw channel report newly registered wikis!

It'd be a plus to have this all work in a more generic fashion that allows the code to be used by othere extensions as well. MediaWiki lacks real software distribution and installation mechanisms. Once these are created, this tool would lose some of it's usefullness, but I don't see this happening any time soon.

Semantic Watchlist

Contact person: Jeroen De Dauw and Yaron Koren

Features that can be added:

  • Watch single pages (via a watch tab) [independent]
  • Diff coloring [independent]

User survey

From January 10 to 28, 2013, the SMW Project ran a short online survey of the community, asking mostly about priorities for future development of Semantic MediaWiki and related extensions.

This page in other languages: zh-hans

Roadmap en