Editing Nookipedia:Development

From Nookipedia, the Animal Crossing wiki
Emotion Surprise NH Icon.png
Warning: You are not logged in.
Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
Emotion Surprise NH Icon.png
Warning: You are not logged in.
Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit. Except in cases of vandalism, please add a reason for undoing the edit in the edit summary.

Latest revision Your text
Line 1: Line 1:
Nookipedia provides the ability for developers to access its content for development projects through two APIs. We encourage developers to use Nookipedia's API to develop bots, tools, applications, and more! This page serves as an introduction to the APIs, as well as a directory of existing developers' projects.
+
Nookipedia provides the ability for developers to access its content for development projects through the [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API]. We encourage developers to use Nookipedia's API to develop bots, tools, applications, and more! This page serves as an introduction to using Nookipedia's API, as well as a directory of existing developers' projects.
  
 
== Development ==
 
== Development ==
Nookipedia has a variety of ways to query and extract data from the wiki. If you have any questions, you are welcome to ask on [[Nookipedia_talk:Development|the talk page]] or join our [https://discord.gg/5Sfg3CT Discord server].
+
Nookipedia's content can be accessed through the [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API]. Examples of possibilities include:
 +
* Extracting information from infoboxes
 +
* Getting lists of characters by game
 +
* Editor statistics
 +
* ...and much more!
  
Nookipedia's text content is released under a [https://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0 license]. Our data is free to use for any purpose; we simply ask that you provide attribution to Nookipedia, and a link back when possible.
+
Developing and using the MediaWiki API takes some know-how. If you're new to using the MediaWiki API, we recommend looking over the following to get started:
 
 
=== Nookipedia API ===
 
Nookipedia has an easy-to-use API to access structured data from the wiki:
 
* '''[[api:|api.nookipedia.com]]''', a RESTful service that provides highly-structured data and is in active development. This API serves as a wrapper for Nookipedia's Cargo data (covered in more detail below).
 
 
 
Users can request access to the API by following the instructions on the page linked above. If you have questions regarding using Nookipedia's API, feel free to post them on [[Nookipedia_talk:Development|the talk page]]. Users who are actively developing projects using the API are also encouraged to join us on [https://discord.gg/5Sfg3CT Discord]. You'll be assigned the API developer role and will gain access to our support channel where you can ask questions directly. Contact one of Nookipedia's [[Nookipedia:Directors|directors]] for more information.
 
 
 
=== Cargo ===
 
Nookipedia utilizes the [https://www.mediawiki.org/wiki/Extension:Cargo MediaWiki Cargo extension], which lets us store data from templates in structured databases. For example, if you visit a villager's article (e.g. [[Rosie]]), all the data you see in the infobox at the top of the page is stored in a database that can be queried elsewhere on the wiki, or through the MediaWiki API for external use.
 
 
 
A list of Nookipedia's Cargo tables is available at '''[[Special:CargoTables]]'''. Please note that several tables are under active development, and their metadata is subject to change. A list of tables and their status (development vs. production) is coming soon.
 
 
 
There are two ways to query Nookipedia's Cargo tables:
 
* Through [https://api.nookipedia.com our custom wrapper API]; we recommend using this service in most cases for several reasons:
 
** Hosted on its own dedicated server and cached, so it is not subjected to the wiki's performance limitations or downtime.
 
** Changes we make to Cargo tables will be reflected in our API, so you can trust that nothing will break as our tables evolve.
 
** Querying and filtering data is more lenient, as well as abstracted behind simple endpoints, making querying easier.
 
** Additional features built in, such as the ability to generate thumbnails of varying size.
 
** Actively monitored and under development (your feature requests can come to life).
 
* Through [https://nookipedia.com/w/api.php?action=help&modules=cargoquery the MediaWiki API], which provides direct access to Cargo tables. While the endpoints are more technical, they are powerful as they allow unfettered access to Nookipedia's Cargo tables through any SQL joins, group_bys, and where clauses you desire. We recommend using this when our wrapper above doesn't provide what you need, or if you are building out complicated queries that tie in data from multiple tables. A more in-depth guide on querying Cargo directly is coming soon.
 
 
 
=== MediaWiki API ===
 
Nookipedia, which runs on MediaWiki software, comes with the [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API] that is standard on all MediaWiki instances. It can be used to extract list of articles from categories; grab statistics about the wiki; edit pages and upload files; grab page content to scrape; and more. If you're new to using the MediaWiki API, we recommend looking over the following to get started:
 
 
* [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API Introduction and examples]
 
* [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API Introduction and examples]
 
* [https://www.mediawiki.org/wiki/API:FAQ MediaWiki API FAQ]
 
* [https://www.mediawiki.org/wiki/API:FAQ MediaWiki API FAQ]
 
* [https://www.mediawiki.org/wiki/API:Query MediaWiki API Queries]
 
* [https://www.mediawiki.org/wiki/API:Query MediaWiki API Queries]
 +
 +
If you have questions regarding using Nookipedia's API, you may ask them on [[/talk|the talk page]].
  
 
=== Licensing ===
 
=== Licensing ===
Line 41: Line 24:
  
 
* Nookipedia's official organizational projects are hosted at [https://github.com/Nookipedia github.com/Nookipedia]:
 
* Nookipedia's official organizational projects are hosted at [https://github.com/Nookipedia github.com/Nookipedia]:
** Ribbot: "Cogs" for Nookipedia's official Discord bot, running off of [https://github.com/Twentysix26/Red-DiscordBot Red].
+
** [https://github.com/Nookipedia/Ribbot Ribbot]: "Cogs" for Nookipedia's official Discord bot, running off of [https://github.com/Twentysix26/Red-DiscordBot Red].
  
 
Other projects built by the community are as follows:
 
Other projects built by the community are as follows:
Line 47: Line 30:
 
* [https://www.reddit.com/user/PellyBot PellyBot on Reddit]: A reddit bot that posts daily updates to the [https://www.reddit.com/r/AnimalCrossing/ ''Animal Crossing'' subreddit]. The updates include events and birthdays for the week.
 
* [https://www.reddit.com/user/PellyBot PellyBot on Reddit]: A reddit bot that posts daily updates to the [https://www.reddit.com/r/AnimalCrossing/ ''Animal Crossing'' subreddit]. The updates include events and birthdays for the week.
 
* [https://gitlab.com/melancholera/sonchou/ Sonchou]: Some packages and scripts written in Go that could be useful to future users and developers of Nookipedia. More information can be found in [https://godoc.org/gitlab.com/melancholera/sonchou the godoc].
 
* [https://gitlab.com/melancholera/sonchou/ Sonchou]: Some packages and scripts written in Go that could be useful to future users and developers of Nookipedia. More information can be found in [https://godoc.org/gitlab.com/melancholera/sonchou the godoc].
* [https://github.com/Nookbot/Nookbot Nookbot]: A bot for the Animal Crossing: New Horizons Discord server. Includes a villager information lookup.
 
 
  
 
{{Navbox Nookipedia}}
 
{{Navbox Nookipedia}}
  
 
[[Category:Nookipedia]]
 
[[Category:Nookipedia]]

Please note that all contributions to Nookipedia are considered to be released under the Attribution-ShareAlike 3.0 Unported (see Nookipedia:General disclaimer for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

Templates used on this page: