Difference between revisions of "Meta:Project AiteStory"

From AiteRP Wiki
Jump to: navigation, search
(Future)
Line 11: Line 11:
 
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.
 
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.
  
== Goal ==
+
== Detials ==
The site must accommodate content of the following type.  
+
 
 +
=== 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...
 
* '''OoC''': Announcements, general information, scheduling, etc...
 
* '''Story''': Background stories, either from the past or present.
 
* '''Story''': Background stories, either from the past or present.
 
* '''Background''': RP information about something that may be noticed and acted upon in RP.
 
* '''Background''': RP information about something that may be noticed and acted upon in RP.
* '''Document''': News stories, text files, messages, etc...
+
* '''Document''': Text files, messages, etc...
 +
* '''News''': IC News stories
 
* '''Item''': Objects relevant to RP, like datapads, OSDs, "loot".
 
* '''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.
 
* '''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.
  
Pages that fit both this site and the wiki should be cross-posted.
+
=== 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.
  
== Design ==
+
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.
 +
 
 +
== 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.
 
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.
  
Line 32: Line 69:
 
* The design should have a Mass Effect theme to it, as long as it does not interfere with other goals
 
* 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.
 
* 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.
+
* The first visit should not use more than '''2 MB''' of a user's data plan for images, fonts and other cached resources.
 
 
== Terms ==
 
 
 
* '''Page''': The pages are the main pieces of content
 
* '''Category''': The type of page, like Info, Item or OoC.
 
* '''Tag''': A tag associates a page with a character, location, plot and/or event. They're the blue and orange things in the illustration above.
 
  
 
== Features ==
 
== Features ==
Line 60: Line 91:
 
The full release is the state at which it is usable for regular RP.
 
The full release is the state at which it is usable for regular RP.
  
* Look up pages for a single tag
+
* Filter list by tag
 
* Sort pages by IC date or title
 
* Sort pages by IC date or title
 
* Save a page for later publishing
 
* Save a page for later publishing
Line 67: Line 98:
 
* Moderate tags
 
* Moderate tags
 
* Link to wiki articles with double-brackets
 
* Link to wiki articles with double-brackets
* Read-only API for external applications
+
* 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 ===
 
=== 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.
+
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
 
* Highlight unread pages
 +
* Unlisted pages (e.g. quick copy-pastes and omni-tool messages)
 +
* Specific pages (Only shown when searched by tag, for a event-specific feed)
 +
* Extend own or others' pages with comments
 
* Page formats other than markdown, like code and plain text
 
* Page formats other than markdown, like code and plain text
* Extend own or others' pages with comments
+
* Different page backgrounds
* Unlisted pages (e.g. quick copy-pastes and omni-tool messages)
+
 
* Integrate page lists into wiki
+
=== 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

Revision as of 09:56, 23 September 2017

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 Concept01.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.

Detials

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.

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 posting 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
  • 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
  • Sort pages by IC date or title
  • Save a page for later publishing
  • Moderate users
  • Moderate pages
  • Moderate tags
  • Link to wiki articles with double-brackets
  • 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
  • Unlisted pages (e.g. quick copy-pastes and omni-tool messages)
  • Specific pages (Only shown when searched by tag, for a event-specific feed)
  • Extend own or others' pages with comments
  • Page formats other than markdown, like code and plain text
  • Different page backgrounds

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