Difference between revisions of "Help:Developer manual"

From semantic-mediawiki.org
Developer manualArchitecture guide
m (grammar)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{InfoBox
+
{{Developer manual/Root
  |Name=Developer hub
+
  |display as=Developer manual
  |Description=Starting point for users interested in Semantic MediaWiki development
+
|topic label=Manual
 +
}}{{Interlanguage}}{{doc.info
 +
| master page = Help:Developer manual
 +
| status  = effective
 +
| progress = 50
 +
  | minversion = 1.0
 
}}
 
}}
[[File:MediaWikiDependencies.png|thumb|250px|MediaWiki dependencies]]
+
 
 +
[[Has description::Page serves as starting point for users interested in extending Semantic MediaWiki|This page and those related with the aspect of development or extending Semantic MediaWiki]] should help users who are interested in contributing to the project on a technical level.  
 +
 
 +
== Overview ==
 +
 
 +
If you are unfamiliar with MediaWiki or its development structure then it is suggested to:
 +
 
 +
* Look at the "[[mws:How to become a MediaWiki hacker|How to become a MediaWiki hacker]]" manual to get a first impression of the general development environment.
 +
* Read [[Help:Programmer's_guide|Hacking Semantic MediaWiki]] to navigate the surroundings of Semantic MediaWiki.
 +
 
 +
To accommodate oneself with the specifics of Semantic MediaWiki and its development, choosing one of the following tasks can be rewarding by starting to improve and contribute to the Semantic MediaWiki project.
 +
 
 +
* [https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/899 Fixing coding style issues] is a way to get familiar with the environment
 +
* Pick a [https://github.com/SemanticMediaWiki/SemanticMediaWiki/labels/easy "easy"] task from the issue list which should (if not please ping us) contain some code samples to move the issue forward
 +
 
 +
== See also ==
 +
 
 
* [https://github.com/SemanticMediaWiki/SemanticMediaWiki/ SemanticMediaWiki source code repository]
 
* [https://github.com/SemanticMediaWiki/SemanticMediaWiki/ SemanticMediaWiki source code repository]
 
* [[Programmer's guide]]
 
* [[Programmer's guide]]
Line 11: Line 32:
 
* [http://doc.semantic-mediawiki.org/ Code documentation]
 
* [http://doc.semantic-mediawiki.org/ Code documentation]
 
* [[Ask API]]
 
* [[Ask API]]
 +
* [[Release process]]
  
== How can I start? ==
+
__NOTOC__ [[Category:Developer documentation]]
 
 
* Have a look at [[mws:How to become a MediaWiki hacker]]
 
* [https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/899 Fixing coding style issues] is a way to get familiar with the environment
 
* Pick a [https://github.com/SemanticMediaWiki/SemanticMediaWiki/labels/easy "easy"] task from the issue list which should (if not please ping us) contain some code samples to move the issue forward
 
 
 
== Questions ==
 
 
 
* [https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/1340 How to setup (use) a DataValue in PHPUnit]
 
* How is SMW organized inside? What parts of [[Architecture guide]] are outdated and don't reflect the current state of the code?
 
* What's happening when I add the property to my page?
 
* What's happening when I query something?
 
* In which ways can SMW be extended? What abstract classes, hooks and interfaces do we have?
 
* How to do the following things:
 
** How to add new reasoning capability? For example support the inverse properties?
 
** How to extend the query language?
 
** How to add new types of properties and extend the old ones?
 
** How to search the bottlenecks in the performance?
 
** How to read SMW data from PHP code?
 
** How to write SMW data from PHP code?
 
 
 
__NOTOC__
 

Latest revision as of 19:14, 15 March 2019

This page and those related with the aspect of development or extending Semantic MediaWiki should help users who are interested in contributing to the project on a technical level.

Overview[edit]

If you are unfamiliar with MediaWiki or its development structure then it is suggested to:

To accommodate oneself with the specifics of Semantic MediaWiki and its development, choosing one of the following tasks can be rewarding by starting to improve and contribute to the Semantic MediaWiki project.

  • Fixing coding style issues is a way to get familiar with the environment
  • Pick a "easy" task from the issue list which should (if not please ping us) contain some code samples to move the issue forward

See also[edit]