Meta:Project AiteStory

From AiteRP Wiki
Jump to: navigation, search

AiteStory is the working title for a project aiming to replace the use cases of the forums that are not covered by this wiki.

AiteStory Concept03.png

The image above is by no means a final design aesthetically, but it shows how the front page will be organized. The single-letters are stand-in for icons. I'd also like feedback on whether (all) the tags should be on the front page.

The project is still in the planning phase. This is an important website, so I'd like to get it right the first time around.

Contributing

Feel free to edit this page to extend the specification, add features, categories and so on. I'm also not much of a designer, so if you have ideas for that or can contribute with graphics I'd really appreciate it.

Backend Design

Categories

Categories describes the type of content, and are all filterable through the side menu. They take the purpose that the subforums had in the past.

  • OoC: Announcements, general information, scheduling, etc...
  • Story: Background stories, either from the past or present.
  • Background: RP information about something that may be noticed and acted upon in RP.
  • Document: Text files, messages, etc...
  • News: IC News stories
  • Item: Objects relevant to RP, like datapads, OSDs, "loot".
  • Info: Knowledge learned during an event, or just generally things that may be forgotten. That Ilyna left the OSD in the office after her talk with Vasquez could be one such page.

Tags

Tags are for more detailed filtering of pages, and should be the backbone for a search feature. They will also allow linking to a list of content relevant to a character, plot, event and so on. Filtering by multiple tags is an exclusive operation, meaning it will only match pages with both tags.

The tags can be of the following types.

  • Location: Where it is set (e.g. Freedom Falls)
  • Character: Who it involves (e.g. Renala T'Iavay)
  • Event: Relevant event (e.g. Ruins of Rakhana)
  • Organization: Relevant organization (e.g. Redrock Agency)
  • Source: Originator, if it's in-universe published content (e.g. The Pulse)

They have the following properties

  • ID: A random identifier. Using that instead of the name as the primary lookup key allows renaming tags in the future without having to re-tag pages.
  • Type: See above
  • Name: The name of the tag
  • Disabled: Disable viewing and filtering. A soft delete, pretty much.

Pages

Pages are the main data model of this website, and thus the most complicated. They have the following properties. The ones with a * are for features under the Future list.

  • ID: A random ID used for linking to it. Need not be chronologically ordered.
  • Author: The user who created this page.
  • Published*: Whether this article can be viewed by others than the author.
  • Unlisted*: Whether the article can be accessed via a list
  • Specific*: Whether the page should show up without searching for a tag. Event-specific info like how much food is left and so on is what I have in mind.
  • Category: The category of the page
  • Content: The page's content
  • IC Date: The IC date of the article, used for sorting
  • OoC Date: The date of posting.
  • Edit Date: The date of last edit.
  • Background URL*: The background image to use for this page, or NULL for no page-specific background.
  • Type*: Describes how to render this page, "markdown" by default.
  • Tags: The page's tags.

A deleted page stays deleted, with no possibility of recovery. The future publish/unpublish feature should present an option to retract a page for editing or mod discussion.

UI/UX Design

The most important aspect of the site's design should be accessibility and readability. Thus, it will be a good old website and not a single-page app like ngn4.io.

Constraints/Goals

  • Page text body should be wide enough for 60 characters, but not wider.
  • Links must be clearly distinguishable from other text formatting
  • Viewing and reading on a handheld device must be comfortable
  • The design should have a Mass Effect theme to it, as long as it does not interfere with other goals
  • All graphical assets should be hosted along with the website. We are currently using less than 0.3% of the upload cap on average, so we have a lot of room for assets.
  • The first visit should not use more than 2 MB of a user's data plan for images, fonts and other cached resources.

Features

Minimum Viable Product

The MVP can be deployed to aiterp.net and should only be used for migrating forum content.

  • View list sorted by IC date
  • View page
  • Create page
  • Use markdown formatting
  • Edit page
  • Delete page
  • Filter list based on category
  • Log in using the wiki.aiterp.net account
  • Log out
  • Tag pages
  • Moderate tags
  • Link to pages in IRC, on the wiki and so on

Full Release

The full release is the state at which it is usable for regular RP.

  • Filter list by tag
  • Save a page for later publishing
  • Specific pages (Only shown when searched by tag, for a event-specific feed)
  • Moderate users
  • Moderate pages
  • Link to wiki articles with double-brackets
  • Unlisted pages (e.g. quick copy-pastes and omni-tool messages)
  • Read-only API for the wiki, needs stubs for future writability.
    • Maybe a bot posting regularly might be better. I cannot tell if it's going to uglier than my PHP code at this point.

Future

Features in this category will be implemented, but only after the full release. However, knowing about them now may inform early development and make it easier to implement these in the future. They are in order of priority.

  • Integrate page lists into wiki
  • Highlight unread pages
  • Extend own or others' pages with comments
  • Page formats other than markdown, like code and plain text
  • Different page backgrounds
  • Allow user to pin favorite tags to the side menu

As Needed

These features are difficult to implement compared to the current knowledge of the use of this software, but may be needed in the future.

  • Search by page content
  • Alternative sorting options