<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pixelrefraction.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nerdofepic</id>
	<title>Pixel Refraction Studio - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pixelrefraction.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nerdofepic"/>
	<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php/Special:Contributions/Nerdofepic"/>
	<updated>2026-10-23T20:41:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=201</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=201"/>
		<updated>2026-09-13T16:16:19Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pixel Refraction Studio presents:&lt;br /&gt;
&lt;br /&gt;
== Ready to Buy ==&lt;br /&gt;
; [[RefractTrack Home|RefractTrack]]&lt;br /&gt;
: &lt;br /&gt;
* Self-Hosted Indie Game Development Task Tracker&lt;br /&gt;
* [https://pixelrefractionstudio.itch.io/refracttrack Buy It!]&lt;br /&gt;
* [https://discord.pixelrefraction.com Join the Discord]&lt;br /&gt;
&lt;br /&gt;
; [[RefractSurvey Home|RefractSurvey]]&lt;br /&gt;
:&lt;br /&gt;
* Self-Hosted Indie Game Survey System&lt;br /&gt;
* [https://pixelrefractionstudio.itch.io/refractsurvey Buy It!]&lt;br /&gt;
* [https://discord.pixelrefraction.com Join the Discord]&lt;br /&gt;
&lt;br /&gt;
== In Development ==&lt;br /&gt;
; [[Fracterebus Home|Fracterebus]]&lt;br /&gt;
:&lt;br /&gt;
* A procedurally generated metroidvania.&lt;br /&gt;
* [https://steampowered.com Buy It!]&lt;br /&gt;
* [https://discord.fracterebus.com Join the Discord]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=200</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=200"/>
		<updated>2026-09-13T16:13:07Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pixel Refraction Studio presents:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ready to Buy&#039;&#039;&#039;&lt;br /&gt;
* [[RefractTrack Home|RefractTrack]] - Self-Hosted Indie Game Development Task Tracker - [https://pixelrefractionstudio.itch.io/refracttrack Buy It!]&lt;br /&gt;
* [[RefractSurvey Home|RefractSurvey]] - Self-Hosted Indie Game Survey System - [https://pixelrefractionstudio.itch.io/refractsurvey Buy It!]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In Development&#039;&#039;&#039;&lt;br /&gt;
* [[Fracterebus Home|Fracterebus]] - A procedurally generated metroidvania. - [https://steampowered.com Buy It!]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Home&amp;diff=199</id>
		<title>RefractTrack Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Home&amp;diff=199"/>
		<updated>2026-09-13T14:17:30Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: /* Welcome to RefractTrack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to RefractTrack ==&lt;br /&gt;
&lt;br /&gt;
[[File:RefractTrack_yo_dawg.jpg|border|right|300px|Yo Dawg.]]&lt;br /&gt;
Pixel Refraction Studio actually made these tools for their own game development. We didn&#039;t just make them, we use them every day. We even used them when we were making the tools themselves.&lt;br /&gt;
&lt;br /&gt;
RefractTrack is a task board for game dev teams. Think of it as a friendly, self-hosted kanban board built specifically for tracking the work of making a game — features, bugs, art tasks, sound effects, whatever your team needs to keep straight — across as many separate projects as you like.&lt;br /&gt;
&lt;br /&gt;
Every task gets a short, memorable code like &#039;&#039;RPG-12&#039;&#039; so it&#039;s easy to refer to in chat, in commit messages, or in conversation (&amp;quot;hey, did you see RPG-12?&amp;quot;). Tasks live on a drag-and-drop board, organized into columns your team defines, and can be tagged, commented on, attached to files, reviewed, and archived once they&#039;re done.&lt;br /&gt;
&lt;br /&gt;
This guide walks through everything RefractTrack can do, organized by what you&#039;re trying to accomplish rather than how it&#039;s built.&lt;br /&gt;
&lt;br /&gt;
=== Get set up ===&lt;br /&gt;
&lt;br /&gt;
* [https://refracttrack.com Brochure] — features and how they will be useful for you&lt;br /&gt;
* [[RefractTrack_Cost_Breakdown|Cost Breakdown]] — what it costs&lt;br /&gt;
* [https://pixelrefractionstudio.itch.io/refracttract Buy it!] — go buy it at itch.io&lt;br /&gt;
* [[RefractTrack_Getting_Started|Getting Started]] — what you need, and how to get RefractTrack up and running&lt;br /&gt;
* [[RefractTrack_Automated_Server_Setup|Automated Server Setup]] — turning a bare Linux computer (even a small one) into a ready-to-go RefractTrack server&lt;br /&gt;
* [[RefractTrack_Upgrading|Upgrading]] — moving an existing install to a newer version&lt;br /&gt;
* [[RefractTrack_License|License]] — license agreement when you buy it&lt;br /&gt;
&lt;br /&gt;
=== The basics ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Projects|Projects]] — keeping separate games or teams cleanly apart from each other&lt;br /&gt;
* [[RefractTrack_Tasks|Tasks]] — what a task looks like and everything you can fill in&lt;br /&gt;
* [[RefractTrack_Board_and_List_Views|Board and List Views]] — the two ways to browse your work&lt;br /&gt;
* [[RefractTrack_Stages|Stages]] — the columns your tasks move through&lt;br /&gt;
* [[RefractTrack_Groups|Groups]] — color-coded tags for organizing tasks&lt;br /&gt;
* [[RefractTrack_Markdown_Formatting|Formatting Text]] — making descriptions and comments easy to read&lt;br /&gt;
&lt;br /&gt;
=== Getting work done ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Bulk_Task_Creation_and_Saved_Lists|Bulk Task Creation]] — creating a whole batch of similar tasks at once&lt;br /&gt;
* [[RefractTrack_Archiving|Archiving]] — clearing finished work off the board without losing it&lt;br /&gt;
* [[RefractTrack_Approvals_and_Review|Approvals and Review]] — a lightweight sign-off step for finished tasks&lt;br /&gt;
* [[RefractTrack_Comments_and_Activity_Log|Comments and Activity]] — discussing a task and seeing its history&lt;br /&gt;
* [[RefractTrack_Attachments|Attachments]] — attaching screenshots, reference art, and files to tasks&lt;br /&gt;
* [[RefractTrack_Export_and_Import|Export and Import]] — backing a project up (or bringing one in) as a single file&lt;br /&gt;
&lt;br /&gt;
=== Running your team ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Users|Users]] — adding teammates and managing their accounts&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]] — controlling who can do what&lt;br /&gt;
* [[RefractTrack_Themes_and_Branding|Themes and Branding]] — giving RefractTrack your own look and name&lt;br /&gt;
&lt;br /&gt;
=== Everything at a glance ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Feature_Inventory|Feature Inventory]] — a quick checklist of everything RefractTrack can do&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Home&amp;diff=198</id>
		<title>RefractTrack Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Home&amp;diff=198"/>
		<updated>2026-09-13T14:16:55Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to RefractTrack ==&lt;br /&gt;
&lt;br /&gt;
[[File:RefractTrack_yo_dawg.jpg|border|right|300px|Yo Dawg.]]&lt;br /&gt;
Pixel Refraction Studio actually made these tools for their own game development. We didn&#039;t just make them, we use them every day.&lt;br /&gt;
&lt;br /&gt;
RefractTrack is a task board for game dev teams. Think of it as a friendly, self-hosted kanban board built specifically for tracking the work of making a game — features, bugs, art tasks, sound effects, whatever your team needs to keep straight — across as many separate projects as you like.&lt;br /&gt;
&lt;br /&gt;
Every task gets a short, memorable code like &#039;&#039;RPG-12&#039;&#039; so it&#039;s easy to refer to in chat, in commit messages, or in conversation (&amp;quot;hey, did you see RPG-12?&amp;quot;). Tasks live on a drag-and-drop board, organized into columns your team defines, and can be tagged, commented on, attached to files, reviewed, and archived once they&#039;re done.&lt;br /&gt;
&lt;br /&gt;
This guide walks through everything RefractTrack can do, organized by what you&#039;re trying to accomplish rather than how it&#039;s built.&lt;br /&gt;
&lt;br /&gt;
=== Get set up ===&lt;br /&gt;
&lt;br /&gt;
* [https://refracttrack.com Brochure] — features and how they will be useful for you&lt;br /&gt;
* [[RefractTrack_Cost_Breakdown|Cost Breakdown]] — what it costs&lt;br /&gt;
* [https://pixelrefractionstudio.itch.io/refracttract Buy it!] — go buy it at itch.io&lt;br /&gt;
* [[RefractTrack_Getting_Started|Getting Started]] — what you need, and how to get RefractTrack up and running&lt;br /&gt;
* [[RefractTrack_Automated_Server_Setup|Automated Server Setup]] — turning a bare Linux computer (even a small one) into a ready-to-go RefractTrack server&lt;br /&gt;
* [[RefractTrack_Upgrading|Upgrading]] — moving an existing install to a newer version&lt;br /&gt;
* [[RefractTrack_License|License]] — license agreement when you buy it&lt;br /&gt;
&lt;br /&gt;
=== The basics ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Projects|Projects]] — keeping separate games or teams cleanly apart from each other&lt;br /&gt;
* [[RefractTrack_Tasks|Tasks]] — what a task looks like and everything you can fill in&lt;br /&gt;
* [[RefractTrack_Board_and_List_Views|Board and List Views]] — the two ways to browse your work&lt;br /&gt;
* [[RefractTrack_Stages|Stages]] — the columns your tasks move through&lt;br /&gt;
* [[RefractTrack_Groups|Groups]] — color-coded tags for organizing tasks&lt;br /&gt;
* [[RefractTrack_Markdown_Formatting|Formatting Text]] — making descriptions and comments easy to read&lt;br /&gt;
&lt;br /&gt;
=== Getting work done ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Bulk_Task_Creation_and_Saved_Lists|Bulk Task Creation]] — creating a whole batch of similar tasks at once&lt;br /&gt;
* [[RefractTrack_Archiving|Archiving]] — clearing finished work off the board without losing it&lt;br /&gt;
* [[RefractTrack_Approvals_and_Review|Approvals and Review]] — a lightweight sign-off step for finished tasks&lt;br /&gt;
* [[RefractTrack_Comments_and_Activity_Log|Comments and Activity]] — discussing a task and seeing its history&lt;br /&gt;
* [[RefractTrack_Attachments|Attachments]] — attaching screenshots, reference art, and files to tasks&lt;br /&gt;
* [[RefractTrack_Export_and_Import|Export and Import]] — backing a project up (or bringing one in) as a single file&lt;br /&gt;
&lt;br /&gt;
=== Running your team ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Users|Users]] — adding teammates and managing their accounts&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]] — controlling who can do what&lt;br /&gt;
* [[RefractTrack_Themes_and_Branding|Themes and Branding]] — giving RefractTrack your own look and name&lt;br /&gt;
&lt;br /&gt;
=== Everything at a glance ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Feature_Inventory|Feature Inventory]] — a quick checklist of everything RefractTrack can do&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractTrack_yo_dawg.jpg&amp;diff=197</id>
		<title>File:RefractTrack yo dawg.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractTrack_yo_dawg.jpg&amp;diff=197"/>
		<updated>2026-09-13T14:11:43Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=196</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=Main_Page&amp;diff=196"/>
		<updated>2026-09-13T14:10:43Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pixel Refraction Studio presents:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ready to Buy&#039;&#039;&#039;&lt;br /&gt;
* [[RefractTrack Home|RefractTrack]] - Self-Hosted Indie Game Development Task Tracker - [https://nerdofepic.itch.io/refracttrack Buy It!]&lt;br /&gt;
* [[RefractSurvey Home|RefractSurvey]] - Self-Hosted Indie Game Survey System - [https://nerdofepic.itch.io/refractsurvey Buy It!]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In Development&#039;&#039;&#039;&lt;br /&gt;
* [[Fracterebus Home|Fracterebus]] - A procedurally generated metroidvania. - [https://steampowered.com Buy It!]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Themes_and_Branding&amp;diff=195</id>
		<title>RefractSurvey Themes and Branding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Themes_and_Branding&amp;diff=195"/>
		<updated>2026-09-13T14:03:23Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;RefractSurvey can look a little more like &amp;#039;&amp;#039;your&amp;#039;&amp;#039; tool, rather than an out-of-the-box install, in two small ways: its name and its color theme.  The Application Config page, with all 15 color themes.  == Color themes ==  From &amp;#039;&amp;#039;&amp;#039;Manage &amp;amp;gt; Application Config&amp;#039;&amp;#039;&amp;#039;, pick from 15 color themes &amp;amp;mdash; all dark, with just the accent color and background tint changing between them. That includes an animated &amp;#039;&amp;#039;&amp;#039;Rainbow&amp;#039;&amp;#039;&amp;#039; opt...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey can look a little more like &#039;&#039;your&#039;&#039; tool, rather than an out-of-the-box install, in two small ways: its name and its color theme.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Themes.png|thumb|center|600px|The Application Config page, with all 15 color themes.]]&lt;br /&gt;
&lt;br /&gt;
== Color themes ==&lt;br /&gt;
&lt;br /&gt;
From &#039;&#039;&#039;Manage &amp;amp;gt; Application Config&#039;&#039;&#039;, pick from 15 color themes &amp;amp;mdash; all dark, with just the accent color and background tint changing between them. That includes an animated &#039;&#039;&#039;Rainbow&#039;&#039;&#039; option that cycles through colors, for anyone who wants their install to stand out a little. The theme applies instantly for everyone using the install; there&#039;s nothing to configure per-user.&lt;br /&gt;
&lt;br /&gt;
== Renaming the app ==&lt;br /&gt;
&lt;br /&gt;
The same page lets you change the application&#039;s display name away from &amp;quot;RefractSurvey&amp;quot; &amp;amp;mdash; it shows up in the top navigation bar and the browser tab title. Handy if you&#039;d rather your team see &amp;quot;Starlit Feedback&amp;quot; or your studio&#039;s own name instead.&lt;br /&gt;
&lt;br /&gt;
== Who can change this ==&lt;br /&gt;
&lt;br /&gt;
Changing the theme and changing the name are each their own permission (&amp;lt;code&amp;gt;themes:change&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;themes:brand&amp;lt;/code&amp;gt;), so you can let a teammate pick a color scheme without also giving them the ability to rename the whole install &amp;amp;mdash; see [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Feature_Inventory&amp;diff=194</id>
		<title>RefractSurvey Feature Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Feature_Inventory&amp;diff=194"/>
		<updated>2026-09-13T14:02:35Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A quick, scannable checklist of everything RefractSurvey can do right now. Every item links to a page with more detail.  == Organizing your work ==  * Unlimited projects, each keeping its surveys, codes, and media completely separate * Unlimited surveys per project &amp;amp;mdash; draft, active, or closed * Groups for organizing a survey&amp;#039;s questions into sections, shown one at a time to respondents * D...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A quick, scannable checklist of everything RefractSurvey can do right now. Every item links to a page with more detail.&lt;br /&gt;
&lt;br /&gt;
== Organizing your work ==&lt;br /&gt;
&lt;br /&gt;
* Unlimited [[RefractSurvey_Projects|projects]], each keeping its surveys, codes, and media completely separate&lt;br /&gt;
* Unlimited [[RefractSurvey_Surveys|surveys]] per project &amp;amp;mdash; draft, active, or closed&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]] for organizing a survey&#039;s questions into sections, shown one at a time to respondents&lt;br /&gt;
* Drag-and-drop reordering of groups, questions, and answer options&lt;br /&gt;
&lt;br /&gt;
== Asking questions ==&lt;br /&gt;
&lt;br /&gt;
* 10 answer-collecting [[RefractSurvey_Question_Types|question types]]: short text, long text, email, number, date, yes/no, scale, single choice, multiple choice, and URL entry&lt;br /&gt;
* 3 context-only block types: description text, image, and link display&lt;br /&gt;
* Optional per-option descriptions on single/multiple-choice answers&lt;br /&gt;
* [[RefractSurvey_Markdown_Formatting|Markdown formatting]] (bold, italic, underline, headings, nested lists) in question text and long-text answers, with a live preview&lt;br /&gt;
* Required or optional on any question&lt;br /&gt;
* Click-through survey preview before publishing, with no risk of it counting as a real response&lt;br /&gt;
&lt;br /&gt;
== Collecting responses ==&lt;br /&gt;
&lt;br /&gt;
* One-time, respondent-friendly [[RefractSurvey_Codes|access codes]], with a printable sheet for handing them out on paper&lt;br /&gt;
* Anonymous by design &amp;amp;mdash; no IP address ever recorded against a response&lt;br /&gt;
* Automatic rate-limiting against code-guessing and password-guessing alike&lt;br /&gt;
* Mobile-friendly survey-taking, down to small phone screens&lt;br /&gt;
&lt;br /&gt;
== Making sense of it all ==&lt;br /&gt;
&lt;br /&gt;
* Per-survey [[RefractSurvey_Analytics|analytics]] with switchable bar/pie charts for every scale and choice question&lt;br /&gt;
* Histogram charts for number and date questions&lt;br /&gt;
* A full individual-response view for reading answers one at a time&lt;br /&gt;
* [[RefractSurvey_Backups|Zip-file backups]] that round-trip a survey&#039;s structure, images, and responses &amp;amp;mdash; exportable and importable from the browser, or via the command line for oversized files&lt;br /&gt;
&lt;br /&gt;
== Reusing your work ==&lt;br /&gt;
&lt;br /&gt;
* A shared, install-wide [[RefractSurvey_Templates|template]] library, independent of any one project&lt;br /&gt;
* A built-in, ready-to-use &amp;quot;Indie Game Feedback&amp;quot; template (28 questions across 4 groups)&lt;br /&gt;
* Soft-delete and restore for templates, so nothing is lost by accident&lt;br /&gt;
&lt;br /&gt;
== Managing your team ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Users|User]] accounts with activate/deactivate, separate from survey respondents entirely&lt;br /&gt;
* Fine-grained, per-project [[RefractSurvey_Permissions_and_Roles|permissions]], plus reusable role presets&lt;br /&gt;
* A dedicated Media Library per project, with real image validation on upload&lt;br /&gt;
&lt;br /&gt;
== Making it yours ==&lt;br /&gt;
&lt;br /&gt;
* 15 [[RefractSurvey_Themes_and_Branding|color themes]], including an animated Rainbow option&lt;br /&gt;
* A custom application name, shown throughout the interface&lt;br /&gt;
* A guided installer that checks every requirement for you &amp;amp;mdash; see [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
&lt;br /&gt;
== Not currently included ==&lt;br /&gt;
&lt;br /&gt;
A few things RefractSurvey deliberately doesn&#039;t do, in case you&#039;re checking for them:&lt;br /&gt;
&lt;br /&gt;
* No CSV export &amp;amp;mdash; the zip/JSON backup format is the only export option&lt;br /&gt;
* No exportable images/CSVs of an individual analytics chart&lt;br /&gt;
* No cross-survey or cross-project analytics rollup &amp;amp;mdash; analytics is always per-survey&lt;br /&gt;
* No enforced password complexity rules beyond a minimum length (by design &amp;amp;mdash; see [[RefractSurvey_Users|Users]])&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Home|Home]]&lt;br /&gt;
* [[RefractSurvey_Cost_Breakdown|Cost Breakdown]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Users&amp;diff=193</id>
		<title>RefractSurvey Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Users&amp;diff=193"/>
		<updated>2026-09-13T14:01:55Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;Every person who signs in to manage surveys &amp;amp;mdash; as opposed to an anonymous respondent using an access code &amp;amp;mdash; has a &amp;#039;&amp;#039;&amp;#039;user&amp;#039;&amp;#039;&amp;#039; account.  The Users list, under Manage.  == Creating a user ==  From &amp;#039;&amp;#039;&amp;#039;Manage &amp;amp;gt; Users&amp;#039;&amp;#039;&amp;#039;, create a new account with a username, password, and display name. You&amp;#039;ll choose their permissions at the same time (either by hand, or by starting from a RefractSurvey_Permissions_and_Roles|r...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Every person who signs in to manage surveys &amp;amp;mdash; as opposed to an anonymous respondent using an access code &amp;amp;mdash; has a &#039;&#039;&#039;user&#039;&#039;&#039; account.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Users.png|thumb|center|600px|The Users list, under Manage.]]&lt;br /&gt;
&lt;br /&gt;
== Creating a user ==&lt;br /&gt;
&lt;br /&gt;
From &#039;&#039;&#039;Manage &amp;amp;gt; Users&#039;&#039;&#039;, create a new account with a username, password, and display name. You&#039;ll choose their permissions at the same time (either by hand, or by starting from a [[RefractSurvey_Permissions_and_Roles|role]] preset), and which projects they can access.&lt;br /&gt;
&lt;br /&gt;
You can only hand someone permissions or project access that you yourself already have &amp;amp;mdash; so a non-admin managing users can&#039;t accidentally (or deliberately) grant someone more access than they themselves hold.&lt;br /&gt;
&lt;br /&gt;
== Admin accounts ==&lt;br /&gt;
&lt;br /&gt;
An account marked as an &#039;&#039;&#039;admin&#039;&#039;&#039; bypasses every permission check entirely &amp;amp;mdash; admins can always see and do everything, in every project, regardless of what roles or individual permissions are set on their account. Give this out carefully; for everyday team members, individual permissions or a role preset are almost always the better fit.&lt;br /&gt;
&lt;br /&gt;
== Deactivating a user ==&lt;br /&gt;
&lt;br /&gt;
Rather than deleting an account outright, a user can be deactivated &amp;amp;mdash; they immediately lose the ability to sign in, but their name still shows up correctly anywhere they created or edited something in the past.&lt;br /&gt;
&lt;br /&gt;
== Password rules ==&lt;br /&gt;
&lt;br /&gt;
RefractSurvey enforces a minimum password length and nothing stricter than that by default. If your organization wants a tougher password policy, that&#039;s expected to be handled as a matter of your own team&#039;s policy rather than something hardcoded into the app.&lt;br /&gt;
&lt;br /&gt;
== Login protection ==&lt;br /&gt;
&lt;br /&gt;
Repeated failed login attempts are automatically throttled, both for a specific username and (separately) from a specific network address, so guessing at a password is slow going. See [[RefractSurvey_Security_Notes|Security Notes]] for more.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractSurvey_Projects|Projects]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Analytics&amp;diff=192</id>
		<title>RefractSurvey Analytics</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Analytics&amp;diff=192"/>
		<updated>2026-09-13T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Analytics&amp;#039;&amp;#039;&amp;#039; is the aggregated, at-a-glance view of everyone&amp;#039;s answers to a survey &amp;amp;mdash; charted automatically, with no setup required. It&amp;#039;s the page you land on first when you click &amp;quot;Responses&amp;quot; for a survey; individual, response-by-response answers are one click away from there (see Responses).  Analytics for a survey, with a pie chart for one of its questions.  == What gets charted...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Analytics&#039;&#039;&#039; is the aggregated, at-a-glance view of everyone&#039;s answers to a survey &amp;amp;mdash; charted automatically, with no setup required. It&#039;s the page you land on first when you click &amp;quot;Responses&amp;quot; for a survey; individual, response-by-response answers are one click away from there (see [[RefractSurvey_Responses|Responses]]).&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Analytics.png|thumb|center|600px|Analytics for a survey, with a pie chart for one of its questions.]]&lt;br /&gt;
&lt;br /&gt;
== What gets charted ==&lt;br /&gt;
&lt;br /&gt;
Every yes/no, scale, single-choice, and multiple-choice question gets its own chart, grouped by the [[RefractSurvey_Groups|group]] it belongs to. Number and date questions are shown as histograms, grouped into buckets. Short text, long text, and email questions aren&#039;t charted &amp;amp;mdash; there&#039;s no meaningful way to automatically summarize free text, so those just show how many people answered versus skipped, with a link over to the full list of responses if you want to actually read them.&lt;br /&gt;
&lt;br /&gt;
== Bar or pie ==&lt;br /&gt;
&lt;br /&gt;
Every chart can be switched between a bar graph and a pie chart using the button in its own corner &amp;amp;mdash; pie is the default. Your choice is remembered for that question for the rest of your browsing session, so flipping through several charts doesn&#039;t mean re-clicking the toggle each time.&lt;br /&gt;
&lt;br /&gt;
The pie chart&#039;s legend always shows each slice&#039;s raw count and its percentage of total selections. For a multiple-choice question, keep in mind that percentages can add up to more than 100% overall, since a respondent can pick more than one option &amp;amp;mdash; RefractSurvey notes this on the chart itself when it applies.&lt;br /&gt;
&lt;br /&gt;
== When a question&#039;s options have changed ==&lt;br /&gt;
&lt;br /&gt;
If a single or multiple-choice question&#039;s options were edited after some responses already came in, an old answer that no longer matches any current option shows up under an &amp;quot;Other (option since changed/removed)&amp;quot; bucket, rather than silently vanishing from the chart.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]]&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]]&lt;br /&gt;
* [[RefractSurvey_Backups|Backups]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_License&amp;diff=191</id>
		<title>RefractSurvey License</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_License&amp;diff=191"/>
		<updated>2026-09-13T13:59:41Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a plain-language summary of what buying RefractSurvey gets you. The itch.io purchase page is always the authoritative source &amp;amp;mdash; if anything here ever seems to disagree with it, the itch.io listing wins.&lt;br /&gt;
&lt;br /&gt;
Copyright &amp;amp;copy; Pixel Refraction Studio. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== What you&#039;re buying ==&lt;br /&gt;
&lt;br /&gt;
A license to install and run RefractSurvey, self-hosted on your own server (or a server you rent), for your own studio or team. That includes:&lt;br /&gt;
&lt;br /&gt;
* Running it for as many projects, surveys, and testers as you want &amp;amp;mdash; see [[RefractSurvey_Cost_Breakdown|Cost Breakdown]] for why nothing here is metered.&lt;br /&gt;
* Every future update released for the version line you bought, at no extra cost.&lt;br /&gt;
* Making whatever configuration changes you like &amp;amp;mdash; themes, branding, permissions &amp;amp;mdash; since all of that is meant to be edited from inside the app.&lt;br /&gt;
&lt;br /&gt;
== What it doesn&#039;t include ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Redistribution.&#039;&#039;&#039; The license covers running RefractSurvey, not repackaging or reselling it as your own product.&lt;br /&gt;
* &#039;&#039;&#039;Hosting.&#039;&#039;&#039; You bring your own server; see [[RefractSurvey_Getting_Started|Getting Started]] or [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] to set one up.&lt;br /&gt;
* &#039;&#039;&#039;Support SLAs.&#039;&#039;&#039; It&#039;s an indie tool, not an enterprise contract &amp;amp;mdash; see the itch.io page for how to reach out with questions.&lt;br /&gt;
&lt;br /&gt;
== Source code changes ==&lt;br /&gt;
&lt;br /&gt;
RefractSurvey ships as plain PHP files with no build step, which means you technically &#039;&#039;&#039;can&#039;&#039;&#039; open any file and change it. Whether that&#039;s something you&#039;re licensed to do &amp;amp;mdash; and whether a modified install is still supported &amp;amp;mdash; is covered by the terms on the itch.io purchase page, not by anything on this wiki.&lt;br /&gt;
&lt;br /&gt;
== Questions ==&lt;br /&gt;
&lt;br /&gt;
For anything not covered here &amp;amp;mdash; team licensing, multiple studios under one purchase, anything unusual &amp;amp;mdash; reach out through the [https://pixelrefractionstudio.itch.io/refractsurvey itch.io listing] rather than guessing from this page.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Cost_Breakdown|Cost Breakdown]]&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Upgrading&amp;diff=190</id>
		<title>RefractSurvey Upgrading</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Upgrading&amp;diff=190"/>
		<updated>2026-09-13T13:58:54Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;Upgrading RefractSurvey is two separate things: getting the new &amp;#039;&amp;#039;&amp;#039;files&amp;#039;&amp;#039;&amp;#039; onto your server, and letting the &amp;#039;&amp;#039;&amp;#039;database&amp;#039;&amp;#039;&amp;#039; catch up. This is a technical page &amp;amp;mdash; if something here doesn&amp;#039;t make sense, an upgrade is a good time to ask whoever manages your server.  == Step 1: Copy the new files over ==  Unzip the new release somewhere on the server, then from inside it, run:  &amp;lt;pre&amp;gt; sudo refractsurvey_server/upgrade.sh &amp;lt;/pre&amp;gt;  This copies the new application files over...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Upgrading RefractSurvey is two separate things: getting the new &#039;&#039;&#039;files&#039;&#039;&#039; onto your server, and letting the &#039;&#039;&#039;database&#039;&#039;&#039; catch up. This is a technical page &amp;amp;mdash; if something here doesn&#039;t make sense, an upgrade is a good time to ask whoever manages your server.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Copy the new files over ==&lt;br /&gt;
&lt;br /&gt;
Unzip the new release somewhere on the server, then from inside it, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo refractsurvey_server/upgrade.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This copies the new application files over your existing live install. It&#039;s non-destructive on purpose:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config/&amp;lt;/code&amp;gt; (your database credentials and settings) is left completely untouched.&lt;br /&gt;
* &amp;lt;code&amp;gt;uploads/&amp;lt;/code&amp;gt; (your survey images) is left completely untouched.&lt;br /&gt;
* Nothing is ever deleted from the live install &amp;amp;mdash; files are only added or overwritten.&lt;br /&gt;
&lt;br /&gt;
That&#039;s the entire file-copying step. You don&#039;t need to stop Apache or take the site offline to run it.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Let the database catch up ==&lt;br /&gt;
&lt;br /&gt;
You usually don&#039;t have to do anything for this part. The next time an administrator logs in after an upgrade, if the new code needs a database change it doesn&#039;t have yet, they&#039;re automatically sent to a one-button &#039;&#039;&#039;&amp;quot;Database Update&amp;quot;&#039;&#039;&#039; page &amp;amp;mdash; click it, and the database is brought up to date on the spot. Everyone else just sees a brief &amp;quot;please wait&amp;quot; page until that happens.&lt;br /&gt;
&lt;br /&gt;
If you&#039;d rather apply the database update immediately, right after copying files, instead of waiting for someone to log in, run this from inside the (now-upgraded) application root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash scripts/upgrade.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a separate, CLI-only script that does &#039;&#039;&#039;only&#039;&#039;&#039; the database part &amp;amp;mdash; it checks that &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; exists, confirms the PHP CLI is available, and then applies any pending database migrations. It&#039;s the command-line equivalent of clicking the &amp;quot;Database Update&amp;quot; button in a browser, which makes it a good fit for a deploy script that shouldn&#039;t depend on a human visiting a web page. If there&#039;s nothing pending, it prints that the database is already up to date and exits cleanly &amp;amp;mdash; safe to run even when you&#039;re not sure whether an update is needed.&lt;br /&gt;
&lt;br /&gt;
== A note on permissions ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; is deliberately locked down to be readable only by the web server&#039;s own user and group. If you run &amp;lt;code&amp;gt;scripts/upgrade.sh&amp;lt;/code&amp;gt; as a different user, you may see a permission error reading that file. That&#039;s expected and not a bug &amp;amp;mdash; run the command as the web server&#039;s user (for example, with &amp;lt;code&amp;gt;sudo -u www-data bash scripts/upgrade.sh&amp;lt;/code&amp;gt;), or as a user in the same group.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Questions&amp;diff=189</id>
		<title>RefractSurvey Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Questions&amp;diff=189"/>
		<updated>2026-09-13T13:58:23Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;Questions are the actual content of your survey &amp;amp;mdash; each one lives inside a group and asks for one piece of information. See Question Types for the full list of what kinds of questions you can ask.  == Building a question ==  From a survey&amp;#039;s builder page, add a question to any group and choose its type, its text, and whether it&amp;#039;s required. Markdown is supported in question...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions are the actual content of your survey &amp;amp;mdash; each one lives inside a [[RefractSurvey_Groups|group]] and asks for one piece of information. See [[RefractSurvey_Question_Types|Question Types]] for the full list of what kinds of questions you can ask.&lt;br /&gt;
&lt;br /&gt;
== Building a question ==&lt;br /&gt;
&lt;br /&gt;
From a survey&#039;s builder page, add a question to any group and choose its type, its text, and whether it&#039;s required. [[RefractSurvey_Markdown_Formatting|Markdown]] is supported in question text, so you can bold, italicize, or list your way to clearer instructions.&lt;br /&gt;
&lt;br /&gt;
== Reordering questions ==&lt;br /&gt;
&lt;br /&gt;
Questions within a group can be dragged into a new order right in the builder &amp;amp;mdash; a dashed placeholder shows where the question came from, and a thin line shows where it&#039;ll land, so it&#039;s always clear what&#039;s about to happen. A newly added question is immediately draggable, with no need to reload the page first.&lt;br /&gt;
&lt;br /&gt;
== Required vs. optional ==&lt;br /&gt;
&lt;br /&gt;
Any question can be marked required or optional. A respondent can&#039;t finish a group with an unanswered required question &amp;amp;mdash; if they try, they&#039;re taken back to the first one they missed.&lt;br /&gt;
&lt;br /&gt;
== Single and multiple choice answer options ==&lt;br /&gt;
&lt;br /&gt;
For single-choice and multiple-choice questions:&lt;br /&gt;
&lt;br /&gt;
* Each answer option can carry its own optional description, shown to respondents right next to the option&#039;s label (for example, a genre option like &amp;quot;Roguelike&amp;quot; might carry the description &amp;quot;Runs end in permanent death, but each run unlocks something new&amp;quot;). This never shows up in results or analytics &amp;amp;mdash; only the plain option label does.&lt;br /&gt;
* Answer options can be dragged into a new order in the question builder, the same way groups and questions can.&lt;br /&gt;
&lt;br /&gt;
== Description and image blocks ==&lt;br /&gt;
&lt;br /&gt;
Not every question needs to collect an answer. Two special block types exist purely to add context:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;&#039;description&#039;&#039;&#039; block shows some text (with markdown formatting) and nothing else &amp;amp;mdash; useful for instructions or a section intro.&lt;br /&gt;
* An &#039;&#039;&#039;image&#039;&#039;&#039; block shows a picture from your project&#039;s [[RefractSurvey_Media_Library|Media Library]], with an optional caption.&lt;br /&gt;
&lt;br /&gt;
Neither type is included when viewing or exporting responses, since there&#039;s no answer to collect.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]]&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]]&lt;br /&gt;
* [[RefractSurvey_Markdown_Formatting|Markdown Formatting]]&lt;br /&gt;
* [[RefractSurvey_Media_Library|Media Library]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Markdown_Formatting&amp;diff=188</id>
		<title>RefractSurvey Markdown Formatting</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Markdown_Formatting&amp;diff=188"/>
		<updated>2026-09-13T13:57:30Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;RefractSurvey supports a small set of text formatting, called markdown, in question text and in long-text answers. It&amp;#039;s deliberately simple &amp;amp;mdash; just enough to make instructions and longer answers easier to read, without turning into a full word processor.  == What you can use ==  {| class=&amp;quot;wikitable&amp;quot; ! You type !! You get |- | &amp;lt;nowiki&amp;gt;**bold**&amp;lt;/nowiki&amp;gt; || &amp;#039;&amp;#039;&amp;#039;bold&amp;#039;&amp;#039;&amp;#039; |- | &amp;lt;nowiki&amp;gt;*italic*&amp;lt;/nowiki&amp;gt; || &amp;#039;&amp;#039;italic&amp;#039;&amp;#039; |- | &amp;lt;nowiki&amp;gt;++underline++&amp;lt;/nowiki&amp;gt; || underline |- | &amp;lt;no...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey supports a small set of text formatting, called markdown, in question text and in long-text answers. It&#039;s deliberately simple &amp;amp;mdash; just enough to make instructions and longer answers easier to read, without turning into a full word processor.&lt;br /&gt;
&lt;br /&gt;
== What you can use ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! You type !! You get&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;**bold**&amp;lt;/nowiki&amp;gt; || &#039;&#039;&#039;bold&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;*italic*&amp;lt;/nowiki&amp;gt; || &#039;&#039;italic&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;++underline++&amp;lt;/nowiki&amp;gt; || underline&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;# Heading&amp;lt;/nowiki&amp;gt; || A large heading&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;## Heading&amp;lt;/nowiki&amp;gt; || A smaller heading&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;- item&amp;lt;/nowiki&amp;gt; || A bulleted list item&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;1. item&amp;lt;/nowiki&amp;gt; || A numbered list item&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bulleted and numbered lists can be nested by indenting a line further than the one above it.&lt;br /&gt;
&lt;br /&gt;
There&#039;s deliberately no support for code blocks or syntax highlighting &amp;amp;mdash; survey content doesn&#039;t tend to need it, and leaving it out keeps things simple.&lt;br /&gt;
&lt;br /&gt;
== Where it&#039;s used ==&lt;br /&gt;
&lt;br /&gt;
* Question text, anywhere in the survey builder (except the internal labels for image and link-display questions, which respondents never see).&lt;br /&gt;
* Long-text answers respondents write themselves &amp;amp;mdash; with a live &amp;quot;&amp;amp;#9656; Preview&amp;quot; you can expand right under the field as you type.&lt;br /&gt;
* Description blocks (see [[RefractSurvey_Question_Types|Question Types]]).&lt;br /&gt;
&lt;br /&gt;
Wherever you can type markdown, there&#039;s a small formatting hint right below the field as a reminder of the syntax above.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Questions|Questions]]&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]]&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Question_Types&amp;diff=187</id>
		<title>RefractSurvey Question Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Question_Types&amp;diff=187"/>
		<updated>2026-09-13T13:57:07Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;RefractSurvey supports the following question types. Most of them collect an answer; a few are just there to add context.  == Types that collect an answer ==  {| class=&amp;quot;wikitable&amp;quot; ! Type !! What it&amp;#039;s for |- | Short text || A single line of free text |- | Long text (paragraph) || A multi-line answer, with a live markdown preview as the respondent types |- | Email address || A single line, checked to make sure it looks like a real emai...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey supports the following question types. Most of them collect an answer; a few are just there to add context.&lt;br /&gt;
&lt;br /&gt;
== Types that collect an answer ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! What it&#039;s for&lt;br /&gt;
|-&lt;br /&gt;
| Short text || A single line of free text&lt;br /&gt;
|-&lt;br /&gt;
| Long text (paragraph) || A multi-line answer, with a live [[RefractSurvey_Markdown_Formatting|markdown]] preview as the respondent types&lt;br /&gt;
|-&lt;br /&gt;
| Email address || A single line, checked to make sure it looks like a real email address&lt;br /&gt;
|-&lt;br /&gt;
| Number || A single numeric value&lt;br /&gt;
|-&lt;br /&gt;
| Date || A date picker&lt;br /&gt;
|-&lt;br /&gt;
| Yes/No || A two-option choice, with customizable labels if &amp;quot;Yes&amp;quot; and &amp;quot;No&amp;quot; aren&#039;t the right words for your question&lt;br /&gt;
|-&lt;br /&gt;
| Scale || A numbered scale (for example, 1&amp;amp;ndash;10), good for satisfaction or likelihood questions&lt;br /&gt;
|-&lt;br /&gt;
| Single choice || Pick exactly one option from a list&lt;br /&gt;
|-&lt;br /&gt;
| Multiple choice || Pick any number of options from a list&lt;br /&gt;
|-&lt;br /&gt;
| URL entry || A single line, checked to make sure it looks like a real, clickable web address&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types that don&#039;t collect an answer ==&lt;br /&gt;
&lt;br /&gt;
These exist to add context to a survey rather than ask anything, and are never shown in [[RefractSurvey_Responses|Responses]] or [[RefractSurvey_Analytics|Analytics]]:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! What it&#039;s for&lt;br /&gt;
|-&lt;br /&gt;
| Description || Plain text (with markdown formatting) shown between questions &amp;amp;mdash; instructions, a section intro, anything you want respondents to read&lt;br /&gt;
|-&lt;br /&gt;
| Image || A picture from your project&#039;s [[RefractSurvey_Media_Library|Media Library]], with an optional caption&lt;br /&gt;
|-&lt;br /&gt;
| Link display || A clickable link with your own label &amp;amp;mdash; for example, pointing respondents to your Steam page or Discord before asking about it&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Charting behavior ==&lt;br /&gt;
&lt;br /&gt;
Yes/No, scale, single-choice, and multiple-choice questions are all automatically charted on the [[RefractSurvey_Analytics|Analytics]] page as answers come in. Number and date questions get grouped into histogram buckets. Short text, long text, and email questions aren&#039;t charted &amp;amp;mdash; they just show an answered/skipped count, since there&#039;s no useful way to summarize free text automatically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Questions|Questions]]&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]]&lt;br /&gt;
* [[RefractSurvey_Analytics|Analytics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Media_Library&amp;diff=186</id>
		<title>RefractSurvey Media Library</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Media_Library&amp;diff=186"/>
		<updated>2026-09-13T13:56:47Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;The &amp;#039;&amp;#039;&amp;#039;Media Library&amp;#039;&amp;#039;&amp;#039; is where a project&amp;#039;s images live, ready to be used in an image question.  A project&amp;#039;s Media Library, ready for an upload.  == Uploading images ==  From a project&amp;#039;s Media Library page (found under Manage), upload JPEG, PNG, GIF, or WebP images up to 8&amp;amp;nbsp;MB each. Every uploaded file is checked to make sure it&amp;#039;s actually a valid image, not just named like...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Media Library&#039;&#039;&#039; is where a project&#039;s images live, ready to be used in an [[RefractSurvey_Question_Types|image question]].&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Media_Library.png|thumb|center|600px|A project&#039;s Media Library, ready for an upload.]]&lt;br /&gt;
&lt;br /&gt;
== Uploading images ==&lt;br /&gt;
&lt;br /&gt;
From a project&#039;s Media Library page (found under Manage), upload JPEG, PNG, GIF, or WebP images up to 8&amp;amp;nbsp;MB each. Every uploaded file is checked to make sure it&#039;s actually a valid image, not just named like one.&lt;br /&gt;
&lt;br /&gt;
== Using an image in a question ==&lt;br /&gt;
&lt;br /&gt;
Images aren&#039;t uploaded from inside the question builder directly &amp;amp;mdash; instead, an image question links to a picture already in the library, chosen through a picker dialog. This keeps uploading in one consistent place, and means the same image can easily be reused across more than one question or survey.&lt;br /&gt;
&lt;br /&gt;
== Deleting images ==&lt;br /&gt;
&lt;br /&gt;
An image already in use by a question can&#039;t be deleted until it&#039;s no longer referenced anywhere &amp;amp;mdash; this avoids accidentally breaking a published survey by pulling a picture out from under it. Once nothing points to an image anymore, it can be removed from the library like anything else.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
The Media Library is scoped per [[RefractSurvey_Projects|project]] &amp;amp;mdash; each project has its own separate set of images, matching the fact that surveys, codes, and everything else in a project stay separate from every other project too.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]]&lt;br /&gt;
* [[RefractSurvey_Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Security_Notes&amp;diff=185</id>
		<title>RefractSurvey Security Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Security_Notes&amp;diff=185"/>
		<updated>2026-09-13T13:55:20Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;RefractSurvey handles a number of security details on its own, without needing any configuration from you. This page is a plain-language rundown of what it does and why, for anyone curious or evaluating it for their team.  == Logging in ==  Repeated failed login attempts are automatically slowed down &amp;amp;mdash; both for one specific username, and (separately) from one specific visitor &amp;amp;mdash; so guessing at a password isn&amp;#039;t a fast or practical way in. A handful of teammates...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey handles a number of security details on its own, without needing any configuration from you. This page is a plain-language rundown of what it does and why, for anyone curious or evaluating it for their team.&lt;br /&gt;
&lt;br /&gt;
== Logging in ==&lt;br /&gt;
&lt;br /&gt;
Repeated failed login attempts are automatically slowed down &amp;amp;mdash; both for one specific username, and (separately) from one specific visitor &amp;amp;mdash; so guessing at a password isn&#039;t a fast or practical way in. A handful of teammates sharing an office connection and occasionally mistyping a password won&#039;t accidentally lock each other out, since the two limits are tuned differently on purpose.&lt;br /&gt;
&lt;br /&gt;
== Access codes ==&lt;br /&gt;
&lt;br /&gt;
The same kind of protection applies to guessing [[RefractSurvey_Codes|access codes]]: repeated failed attempts from the same visitor are throttled with an increasing wait, no matter which page they&#039;re trying codes from.&lt;br /&gt;
&lt;br /&gt;
== Who can see and do what ==&lt;br /&gt;
&lt;br /&gt;
Every action in RefractSurvey is checked against the current user&#039;s permissions and project access before it&#039;s allowed &amp;amp;mdash; by default, a user can&#039;t see or touch a project they haven&#039;t explicitly been granted access to. See [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]] for the full picture of how that&#039;s organized.&lt;br /&gt;
&lt;br /&gt;
== Uploaded images ==&lt;br /&gt;
&lt;br /&gt;
Anything uploaded to a [[RefractSurvey_Media_Library|Media Library]] is checked to make sure it&#039;s a genuine image file, not just something renamed to look like one. Uploaded files are also stored somewhere that can&#039;t execute code, even if someone found a way to sneak something else past the upload check.&lt;br /&gt;
&lt;br /&gt;
== Backups ==&lt;br /&gt;
&lt;br /&gt;
Importing a [[RefractSurvey_Backups|backup]] file is treated as untrusted input, since a backup could in principle come from somewhere other than your own export. RefractSurvey checks the contents of an imported backup carefully before trusting any of it, rather than assuming a zip file is safe just because it has the right file extension.&lt;br /&gt;
&lt;br /&gt;
== Respondent privacy ==&lt;br /&gt;
&lt;br /&gt;
No IP address is ever stored against a submitted survey response &amp;amp;mdash; see [[RefractSurvey_Responses|Responses]] for more on what &amp;quot;anonymous by design&amp;quot; means in practice.&lt;br /&gt;
&lt;br /&gt;
== Keeping up to date ==&lt;br /&gt;
&lt;br /&gt;
Security fixes ship the same way any other update does &amp;amp;mdash; see [[RefractSurvey_Upgrading|Upgrading]] for how to bring an existing install up to the latest version.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractSurvey_Codes|Codes]]&lt;br /&gt;
* [[RefractSurvey_Backups|Backups]]&lt;br /&gt;
* [[RefractSurvey_Upgrading|Upgrading]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Codes&amp;diff=184</id>
		<title>RefractSurvey Codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Codes&amp;diff=184"/>
		<updated>2026-09-13T13:54:43Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;An &amp;#039;&amp;#039;&amp;#039;access code&amp;#039;&amp;#039;&amp;#039; is how someone gets permission to take a survey, without needing an account, an email address, or anything else. Each code works exactly once.  The Access Codes page for a survey, showing used and unused codes.  == Getting a code ==  From a survey&amp;#039;s Codes page, generate as many codes as you need, optionally with a batch label (for example, &amp;quot;Homeroom 4B&amp;quot; or &amp;quot;Discord giveaway&amp;quot;) to help you keep track...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;access code&#039;&#039;&#039; is how someone gets permission to take a survey, without needing an account, an email address, or anything else. Each code works exactly once.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Codes.png|thumb|center|600px|The Access Codes page for a survey, showing used and unused codes.]]&lt;br /&gt;
&lt;br /&gt;
== Getting a code ==&lt;br /&gt;
&lt;br /&gt;
From a survey&#039;s Codes page, generate as many codes as you need, optionally with a batch label (for example, &amp;quot;Homeroom 4B&amp;quot; or &amp;quot;Discord giveaway&amp;quot;) to help you keep track of where a group of codes went. Each code is formatted like &amp;lt;code&amp;gt;XXXX-XXXX&amp;lt;/code&amp;gt;, using a character set that deliberately leaves out digits, vowels, and anything easy to mistake for another character &amp;amp;mdash; so a code that got a little smudged on a printed handout, or read aloud over a call, is still easy to type in correctly.&lt;br /&gt;
&lt;br /&gt;
== Handing codes out ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;On paper&#039;&#039;&#039;: print a sheet of codes straight from the Codes page &amp;amp;mdash; each one is laid out to be cut apart and handed out individually.&lt;br /&gt;
* &#039;&#039;&#039;Online&#039;&#039;&#039;: copy a code and send it however you like &amp;amp;mdash; Discord, email, a giveaway post, whatever fits.&lt;br /&gt;
&lt;br /&gt;
Whoever receives a code goes to your site&#039;s homepage, types in the code, and is taken straight into the survey. Typing is forgiving: the field automatically capitalizes what&#039;s typed and adds the dash for you.&lt;br /&gt;
&lt;br /&gt;
== One-time, and rate-limited ==&lt;br /&gt;
&lt;br /&gt;
Once a code is used, it can&#039;t be used again &amp;amp;mdash; it&#039;s marked &amp;quot;used&amp;quot; and tied to the response it produced. Guessing codes at random is also slowed down automatically: repeated failed attempts from the same visitor trigger an increasing wait before they can try again, whether they&#039;re using the code-entry form or typing a code directly into a survey link.&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
An unused code can be deleted if you want to invalidate it &amp;amp;mdash; useful if a batch of codes was accidentally sent to the wrong group, or a giveaway is over.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Surveys|Surveys]]&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Responses&amp;diff=183</id>
		<title>RefractSurvey Responses</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Responses&amp;diff=183"/>
		<updated>2026-09-13T13:54:19Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;response&amp;#039;&amp;#039;&amp;#039; is one respondent&amp;#039;s complete set of answers to a survey. Every response was submitted using a one-time access code, so there&amp;#039;s exactly one response per code that&amp;#039;s ever been used.  == Reading responses ==  From a survey, the &amp;quot;Responses&amp;quot; link takes you to Analytics first &amp;amp;mdash; the aggregated, charted view across every response. &amp;quot;Individual responses&amp;quot; is one click away from there, and shows each respond...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;response&#039;&#039;&#039; is one respondent&#039;s complete set of answers to a survey. Every response was submitted using a one-time [[RefractSurvey_Codes|access code]], so there&#039;s exactly one response per code that&#039;s ever been used.&lt;br /&gt;
&lt;br /&gt;
== Reading responses ==&lt;br /&gt;
&lt;br /&gt;
From a survey, the &amp;quot;Responses&amp;quot; link takes you to [[RefractSurvey_Analytics|Analytics]] first &amp;amp;mdash; the aggregated, charted view across every response. &amp;quot;Individual responses&amp;quot; is one click away from there, and shows each respondent&#039;s full set of answers on its own page, exactly as they submitted it (including any [[RefractSurvey_Markdown_Formatting|markdown]] formatting they used in a long-text answer).&lt;br /&gt;
&lt;br /&gt;
== Anonymous by design ==&lt;br /&gt;
&lt;br /&gt;
Respondents are anonymous on purpose: RefractSurvey never records an IP address against a submitted response. The one-time code system exists specifically so you can control &#039;&#039;&#039;who gets to respond&#039;&#039;&#039; (by handing out codes) without needing to know &#039;&#039;&#039;who did respond&#039;&#039;&#039; once they have.&lt;br /&gt;
&lt;br /&gt;
== If a question changes after responses come in ==&lt;br /&gt;
&lt;br /&gt;
Editing a survey&#039;s questions is locked once it&#039;s active, specifically to avoid this problem &amp;amp;mdash; but if you close a survey, edit a single/multiple-choice question&#039;s options, and look at old responses again, an answer that no longer matches any of the question&#039;s current options is shown as &amp;quot;Other (option since changed/removed)&amp;quot; rather than silently disappearing.&lt;br /&gt;
&lt;br /&gt;
== Deleting a response ==&lt;br /&gt;
&lt;br /&gt;
A single response can be permanently deleted from its individual view, if you ever need to remove one (for example, at a respondent&#039;s request).&lt;br /&gt;
&lt;br /&gt;
== Taking responses out of RefractSurvey ==&lt;br /&gt;
&lt;br /&gt;
To get response data out for use elsewhere, see [[RefractSurvey_Backups|Backups]] &amp;amp;mdash; a survey&#039;s responses can be included in its exported backup file.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Codes|Codes]]&lt;br /&gt;
* [[RefractSurvey_Analytics|Analytics]]&lt;br /&gt;
* [[RefractSurvey_Backups|Backups]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Backups&amp;diff=182</id>
		<title>RefractSurvey Backups</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Backups&amp;diff=182"/>
		<updated>2026-09-13T13:53:56Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Backups&amp;#039;&amp;#039;&amp;#039; are how you get survey data out of RefractSurvey (or bring it into a different project or install) as a single downloadable file.  == Exporting ==  From &amp;#039;&amp;#039;&amp;#039;Manage &amp;amp;gt; Backups&amp;#039;&amp;#039;&amp;#039;, choose which surveys in the current project to export, and whether to include their responses. RefractSurvey packages everything &amp;amp;mdash; the chosen surveys&amp;#039; structure, their images, optionally their responses, and your entire shared template library &amp;amp;md...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Backups&#039;&#039;&#039; are how you get survey data out of RefractSurvey (or bring it into a different project or install) as a single downloadable file.&lt;br /&gt;
&lt;br /&gt;
== Exporting ==&lt;br /&gt;
&lt;br /&gt;
From &#039;&#039;&#039;Manage &amp;amp;gt; Backups&#039;&#039;&#039;, choose which surveys in the current project to export, and whether to include their responses. RefractSurvey packages everything &amp;amp;mdash; the chosen surveys&#039; structure, their images, optionally their responses, and your entire shared [[RefractSurvey_Templates|template]] library &amp;amp;mdash; into a single zip file you can download and store wherever you like.&lt;br /&gt;
&lt;br /&gt;
Access codes are never included in an export. They&#039;re specific to one deployment, so every install generates its own rather than inheriting anyone else&#039;s.&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
From a project&#039;s Import page, upload a previously exported backup zip. If an imported template&#039;s name collides with one that already exists, RefractSurvey automatically renames it (adding &amp;quot; (2),&amp;quot; &amp;quot; (3),&amp;quot; and so on) rather than overwriting anything or failing outright.&lt;br /&gt;
&lt;br /&gt;
Importing through the browser is capped at a 25&amp;amp;nbsp;MB upload, which covers the overwhelming majority of backups. For anything larger, see the command-line option below.&lt;br /&gt;
&lt;br /&gt;
== Importing very large backups from the command line ==&lt;br /&gt;
&lt;br /&gt;
If a backup is too large to comfortably push through a browser upload, the same import logic is available as a command-line script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php scripts/import_backup.php &amp;amp;lt;project_id&amp;amp;gt; &amp;amp;lt;zip_path&amp;amp;gt; [--with-responses] [--user &amp;amp;lt;username&amp;amp;gt;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--list-projects&amp;lt;/code&amp;gt; to see a project&#039;s ID if you don&#039;t already know it, or &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; for the full usage. This is the same underlying import used by the web form, just without the upload-size ceiling &amp;amp;mdash; it&#039;s meant to be run directly on the server, from inside the application folder.&lt;br /&gt;
&lt;br /&gt;
== Why this matters beyond backups ==&lt;br /&gt;
&lt;br /&gt;
Because export/import round-trips a survey&#039;s full structure, it&#039;s also a convenient way to copy a survey (or an entire set of surveys and templates) from one project to another, or from a staging install to a production one, without rebuilding anything by hand.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Templates|Templates]]&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Templates&amp;diff=181</id>
		<title>RefractSurvey Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Templates&amp;diff=181"/>
		<updated>2026-09-13T13:52:34Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;template&amp;#039;&amp;#039;&amp;#039; is a saved survey shape &amp;amp;mdash; its groups and questions &amp;amp;mdash; that you can reuse to start a new survey without rebuilding it from scratch every time.  The shared Templates library.  == Shared across every project ==  Templates aren&amp;#039;t tied to any one project &amp;amp;mdash; they&amp;#039;re a single, shared library for your whole install, found under &amp;#039;&amp;#039;&amp;#039;Manage &amp;amp;gt; Templates&amp;#039;&amp;#039;&amp;#039;. That mea...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;template&#039;&#039;&#039; is a saved survey shape &amp;amp;mdash; its groups and questions &amp;amp;mdash; that you can reuse to start a new survey without rebuilding it from scratch every time.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Templates.png|thumb|center|600px|The shared Templates library.]]&lt;br /&gt;
&lt;br /&gt;
== Shared across every project ==&lt;br /&gt;
&lt;br /&gt;
Templates aren&#039;t tied to any one [[RefractSurvey_Projects|project]] &amp;amp;mdash; they&#039;re a single, shared library for your whole install, found under &#039;&#039;&#039;Manage &amp;amp;gt; Templates&#039;&#039;&#039;. That means a template built while working on one game can just as easily be reused for a completely different one later.&lt;br /&gt;
&lt;br /&gt;
== Saving a survey as a template ==&lt;br /&gt;
&lt;br /&gt;
From any survey&#039;s builder page, choose &#039;&#039;&#039;Save as template&#039;&#039;&#039;. This copies that survey&#039;s current groups and questions into a brand new template &amp;amp;mdash; it doesn&#039;t affect the original survey, and doesn&#039;t include any responses, codes, or the thank-you message (none of which make sense for a template).&lt;br /&gt;
&lt;br /&gt;
== Starting a survey from a template ==&lt;br /&gt;
&lt;br /&gt;
From the &amp;quot;New Survey&amp;quot; form, choose &#039;&#039;&#039;Use this template&#039;&#039;&#039; and pick one from the library. This clones the template&#039;s groups and questions into a new survey in whichever project you&#039;re currently working in, ready to be tweaked, published, and given its own codes.&lt;br /&gt;
&lt;br /&gt;
== The built-in &amp;quot;Indie Game Feedback&amp;quot; template ==&lt;br /&gt;
&lt;br /&gt;
Every fresh install starts with one ready-made template: &#039;&#039;&#039;Indie Game Feedback&#039;&#039;&#039;, a 28-question survey across four groups &amp;amp;mdash; Steam, Playtest, About You, and Marketing &amp;amp;amp; Presentation &amp;amp;mdash; covering purchase intent, playtest impressions, respondent background, and marketing perception. It&#039;s a solid starting point for a typical playtest feedback form; add, edit, or remove questions from it just like any other template.&lt;br /&gt;
&lt;br /&gt;
== Deleting a template ==&lt;br /&gt;
&lt;br /&gt;
Deleting a template moves it to &#039;&#039;&#039;Manage &amp;amp;gt; Templates &amp;amp;gt; Deleted&#039;&#039;&#039; rather than removing it outright, and it can be restored from there at any time. There&#039;s no permanent-delete action for templates &amp;amp;mdash; a soft-deleted template just stays put until someone brings it back.&lt;br /&gt;
&lt;br /&gt;
== Templates and backups ==&lt;br /&gt;
&lt;br /&gt;
Every exported [[RefractSurvey_Backups|backup]] automatically bundles your entire template library alongside whichever surveys you chose to export, so restoring from a backup brings your templates along with it.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Surveys|Surveys]]&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]]&lt;br /&gt;
* [[RefractSurvey_Backups|Backups]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Groups&amp;diff=180</id>
		<title>RefractSurvey Groups</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Groups&amp;diff=180"/>
		<updated>2026-09-13T13:51:59Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;group&amp;#039;&amp;#039;&amp;#039; is how a survey is broken into sections &amp;amp;mdash; a way to put related questions together, like &amp;quot;About You,&amp;quot; &amp;quot;Playtest Impressions,&amp;quot; or &amp;quot;Steam Page Feedback.&amp;quot; The built-in &amp;quot;Indie Game Feedback&amp;quot; template uses four groups: Steam, Playtest, About You, and Marketing &amp;amp;amp; Presentation.  A survey builder page, with several groups and their questions....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;group&#039;&#039;&#039; is how a [[RefractSurvey_Surveys|survey]] is broken into sections &amp;amp;mdash; a way to put related questions together, like &amp;quot;About You,&amp;quot; &amp;quot;Playtest Impressions,&amp;quot; or &amp;quot;Steam Page Feedback.&amp;quot; The built-in &amp;quot;Indie Game Feedback&amp;quot; [[RefractSurvey_Templates|template]] uses four groups: Steam, Playtest, About You, and Marketing &amp;amp;amp; Presentation.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Survey_Builder.png|thumb|center|600px|A survey builder page, with several groups and their questions.]]&lt;br /&gt;
&lt;br /&gt;
== Why groups matter to respondents ==&lt;br /&gt;
&lt;br /&gt;
When someone takes your survey, they see one group at a time, with Back/Next buttons to move between them, rather than one giant scrolling page of every question at once. This tends to make long surveys feel much more manageable. A page title at the top always shows which group they&#039;re currently on.&lt;br /&gt;
&lt;br /&gt;
== Building groups ==&lt;br /&gt;
&lt;br /&gt;
From a survey&#039;s builder page, add as many groups as you like and give each one a title and (optionally) a short description shown to respondents at the top of that section. Groups can be dragged into a new order at any time while the survey is still a draft.&lt;br /&gt;
&lt;br /&gt;
== Moving questions between groups ==&lt;br /&gt;
&lt;br /&gt;
Questions aren&#039;t locked into the group they were created in &amp;amp;mdash; you can drag a question from one group into another right in the builder, and RefractSurvey keeps track of the move automatically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Surveys|Surveys]]&lt;br /&gt;
* [[RefractSurvey_Questions|Questions]]&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Surveys&amp;diff=179</id>
		<title>RefractSurvey Surveys</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Surveys&amp;diff=179"/>
		<updated>2026-09-13T13:51:26Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;survey&amp;#039;&amp;#039;&amp;#039; is a set of questions you want answered &amp;amp;mdash; a playtest form, a post-launch feedback survey, whatever you need real answers on. Every survey lives inside a project and is made up of one or more groups of questions.  A project&amp;#039;s survey list, showing status, codes, and response counts.  == Creating a survey ==  From a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;survey&#039;&#039;&#039; is a set of questions you want answered &amp;amp;mdash; a playtest form, a post-launch feedback survey, whatever you need real answers on. Every survey lives inside a [[RefractSurvey_Projects|project]] and is made up of one or more [[RefractSurvey_Groups|groups]] of [[RefractSurvey_Questions|questions]].&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Surveys_List.png|thumb|center|600px|A project&#039;s survey list, showing status, codes, and response counts.]]&lt;br /&gt;
&lt;br /&gt;
== Creating a survey ==&lt;br /&gt;
&lt;br /&gt;
From a project&#039;s Surveys page, click &#039;&#039;&#039;New Survey&#039;&#039;&#039;. You can start completely from scratch, or pre-load all the groups and questions from a saved [[RefractSurvey_Templates|template]] &amp;amp;mdash; handy if you run the same kind of survey (like a Steam playtest feedback form) over and over.&lt;br /&gt;
&lt;br /&gt;
== Draft, Active, and Closed ==&lt;br /&gt;
&lt;br /&gt;
A survey moves through three statuses:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Draft&#039;&#039;&#039; &amp;amp;mdash; still being built. You can freely add, edit, and reorder groups and questions.&lt;br /&gt;
* &#039;&#039;&#039;Active&#039;&#039;&#039; &amp;amp;mdash; published and taking responses. Once a survey is active, its questions are locked so that a respondent partway through doesn&#039;t end up answering a form that&#039;s changed underneath them.&lt;br /&gt;
* &#039;&#039;&#039;Closed&#039;&#039;&#039; &amp;amp;mdash; no longer accepting responses, but everything already collected stays put. You can reopen a closed survey later if you want to collect more.&lt;br /&gt;
&lt;br /&gt;
If you publish a survey before generating any access codes, RefractSurvey notices and takes you straight to the Codes page with a reminder, rather than leaving you on the builder with a published survey nobody can actually take.&lt;br /&gt;
&lt;br /&gt;
== Previewing before you publish ==&lt;br /&gt;
&lt;br /&gt;
Any survey can be interactively clicked through exactly as a respondent would see it, without it counting as a real response &amp;amp;mdash; see the Preview button on the survey&#039;s builder page. This is the best way to sanity-check pagination, required questions, and formatting before you publish.&lt;br /&gt;
&lt;br /&gt;
== Finishing touches ==&lt;br /&gt;
&lt;br /&gt;
A survey can have its own custom &#039;&#039;&#039;thank-you message&#039;&#039;&#039;, shown after a respondent finishes. Edit it from the survey&#039;s details page.&lt;br /&gt;
&lt;br /&gt;
== Deleting a survey ==&lt;br /&gt;
&lt;br /&gt;
Deleting a real survey is permanent (unlike [[RefractSurvey_Templates|templates]], which are only ever soft-deleted). If you might want the data later, consider closing it instead, or exporting a [[RefractSurvey_Backups|backup]] first.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]]&lt;br /&gt;
* [[RefractSurvey_Questions|Questions]]&lt;br /&gt;
* [[RefractSurvey_Codes|Codes]]&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]]&lt;br /&gt;
* [[RefractSurvey_Analytics|Analytics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Projects&amp;diff=178</id>
		<title>RefractSurvey Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Projects&amp;diff=178"/>
		<updated>2026-09-13T13:50:29Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;project&amp;#039;&amp;#039;&amp;#039; is the top-level container in RefractSurvey. Every survey, every access code, and every uploaded image belongs to exactly one project.  The Projects list, under Manage.  == Why projects exist ==  If you&amp;#039;re working on more than one game, or you want to keep an internal team survey cleanly separate from a public playtest, projects are how you do that. There&amp;#039;s no limit on how many you can create, and no...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;project&#039;&#039;&#039; is the top-level container in RefractSurvey. Every survey, every access code, and every uploaded image belongs to exactly one project.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Projects.png|thumb|center|600px|The Projects list, under Manage.]]&lt;br /&gt;
&lt;br /&gt;
== Why projects exist ==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re working on more than one game, or you want to keep an internal team survey cleanly separate from a public playtest, projects are how you do that. There&#039;s no limit on how many you can create, and no per-project fee &amp;amp;mdash; see [[RefractSurvey_Cost_Breakdown|Cost Breakdown]].&lt;br /&gt;
&lt;br /&gt;
A brand new install starts with none; you create your first one as the last step of the install wizard (see [[RefractSurvey_Getting_Started|Getting Started]]).&lt;br /&gt;
&lt;br /&gt;
== Creating a project ==&lt;br /&gt;
&lt;br /&gt;
From &#039;&#039;&#039;Manage &amp;amp;gt; Projects&#039;&#039;&#039;, click &#039;&#039;&#039;New project&#039;&#039;&#039; and give it a name and (optionally) a short description. Right after creating it, you&#039;ll be shown a checklist of every other active user on your install so you can immediately decide who else should be able to access it &amp;amp;mdash; this is purely additive, so it&#039;s a fast way to grant a whole team access at once without visiting each person&#039;s account individually.&lt;br /&gt;
&lt;br /&gt;
== Switching between projects ==&lt;br /&gt;
&lt;br /&gt;
If you have access to more than one project, a dropdown in the top navigation bar lets you switch which one is &amp;quot;current.&amp;quot; Most of the app (Surveys, Media Library, Import) works within whichever project is currently selected.&lt;br /&gt;
&lt;br /&gt;
== Deactivating a project ==&lt;br /&gt;
&lt;br /&gt;
Projects can be deactivated rather than deleted &amp;amp;mdash; useful once a game has shipped and you don&#039;t need to keep collecting feedback for it, but still want to keep the historical responses around.&lt;br /&gt;
&lt;br /&gt;
== Who can see this ==&lt;br /&gt;
&lt;br /&gt;
Whether someone can see or manage a project at all depends on both their permissions and whether they&#039;ve specifically been granted access to that project &amp;amp;mdash; see [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]] for the full picture. [[RefractSurvey_Templates|Templates]] are the one exception: they&#039;re shared across every project on the install rather than belonging to just one.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Surveys|Surveys]]&lt;br /&gt;
* [[RefractSurvey_Media_Library|Media Library]]&lt;br /&gt;
* [[RefractSurvey_Users|Users]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Permissions_and_Roles&amp;diff=177</id>
		<title>RefractSurvey Permissions and Roles</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Permissions_and_Roles&amp;diff=177"/>
		<updated>2026-09-13T13:49:56Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;RefractSurvey&amp;#039;s permission system controls exactly what each user can see and do, down to a fairly fine level of detail. This page explains how the pieces fit together.  The Roles list, showing the built-in Admin role and a custom &amp;quot;Surveyor&amp;quot; preset.  == Permissions ==  Every permission is a noun (what it applies to) and a verb (what it lets you do), like &amp;lt;code&amp;gt;surveys:publish&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;code...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey&#039;s permission system controls exactly what each [[RefractSurvey_Users|user]] can see and do, down to a fairly fine level of detail. This page explains how the pieces fit together.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractSurvey_Roles.png|thumb|center|600px|The Roles list, showing the built-in Admin role and a custom &amp;quot;Surveyor&amp;quot; preset.]]&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
Every permission is a noun (what it applies to) and a verb (what it lets you do), like &amp;lt;code&amp;gt;surveys:publish&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;codes:generate&amp;lt;/code&amp;gt;. The full set of nouns:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Projects&#039;&#039;&#039; &amp;amp;mdash; view, create, edit, and activate/deactivate projects&lt;br /&gt;
* &#039;&#039;&#039;Surveys&#039;&#039;&#039; &amp;amp;mdash; view, create, edit, preview, publish, and delete surveys&lt;br /&gt;
* &#039;&#039;&#039;Templates&#039;&#039;&#039; &amp;amp;mdash; view the shared template library, save/edit templates, and delete (or restore) them&lt;br /&gt;
* &#039;&#039;&#039;Codes&#039;&#039;&#039; &amp;amp;mdash; view, generate, print, and delete access codes&lt;br /&gt;
* &#039;&#039;&#039;Responses&#039;&#039;&#039; &amp;amp;mdash; view and delete submitted responses&lt;br /&gt;
* &#039;&#039;&#039;Backups&#039;&#039;&#039; &amp;amp;mdash; export and import survey data&lt;br /&gt;
* &#039;&#039;&#039;Media&#039;&#039;&#039; &amp;amp;mdash; view, upload, and delete images in a project&#039;s media library&lt;br /&gt;
* &#039;&#039;&#039;Themes&#039;&#039;&#039; &amp;amp;mdash; change the application&#039;s color theme, or its name/branding&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039; &amp;amp;mdash; view, create, and edit users (their basic info, their permissions, or the projects they can access, each controlled separately), plus activate/deactivate them&lt;br /&gt;
* &#039;&#039;&#039;Roles&#039;&#039;&#039; &amp;amp;mdash; view, create, edit, and delete role presets&lt;br /&gt;
&lt;br /&gt;
Most permissions are scoped per [[RefractSurvey_Projects|project]] &amp;amp;mdash; having &amp;lt;code&amp;gt;surveys:edit&amp;lt;/code&amp;gt; doesn&#039;t mean you can edit surveys in every project, only the ones you&#039;ve specifically been given access to. Templates are the exception: since the template library is shared across the whole install rather than belonging to any one project, template permissions apply everywhere at once, the same way user- and role-management permissions do.&lt;br /&gt;
&lt;br /&gt;
== Roles ==&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;role&#039;&#039;&#039; is just a preset &amp;amp;mdash; a quick way to fill in a new user&#039;s permission checkboxes rather than ticking each one by hand. Editing a role later doesn&#039;t retroactively change anyone it was already applied to; it only affects new assignments going forward.&lt;br /&gt;
&lt;br /&gt;
Every install starts with:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admin&#039;&#039;&#039; &amp;amp;mdash; a built-in, unremovable role. See below &amp;amp;mdash; being an admin isn&#039;t actually driven by these checkboxes at all.&lt;br /&gt;
* &#039;&#039;&#039;Surveyor&#039;&#039;&#039; &amp;amp;mdash; a ready-made, editable preset covering the everyday work of building and running surveys (creating and editing surveys, generating and printing codes, viewing responses, exporting backups, and using the media library and templates) without full user-management or administrative access.&lt;br /&gt;
&lt;br /&gt;
You can create as many additional custom roles as you like.&lt;br /&gt;
&lt;br /&gt;
== Admin accounts ==&lt;br /&gt;
&lt;br /&gt;
Being an &amp;quot;admin&amp;quot; is a separate flag on a user&#039;s account, not a permission or a role. An admin bypasses every permission check entirely, in every project, full stop &amp;amp;mdash; which also means a newly added permission automatically covers every admin the moment it exists, with nothing to update. Reserve this for the people who should genuinely be able to do anything.&lt;br /&gt;
&lt;br /&gt;
== Granting access ==&lt;br /&gt;
&lt;br /&gt;
You can only grant someone a permission or a project you already hold yourself. A team lead who can manage users but only has access to their own project can add teammates to that project, but can&#039;t reach across into a project they don&#039;t have access to &amp;amp;mdash; even indirectly, through the user-management screen.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Users|Users]]&lt;br /&gt;
* [[RefractSurvey_Projects|Projects]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Getting_Started&amp;diff=176</id>
		<title>RefractSurvey Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Getting_Started&amp;diff=176"/>
		<updated>2026-09-13T13:48:56Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;This page walks through installing RefractSurvey by hand on a server you&amp;#039;ve already got. If you&amp;#039;re starting from a completely bare Linux box and want the setup automated for you, see Automated Server Setup instead &amp;amp;mdash; it does everything below for you plus the server-level setup.  == What you&amp;#039;ll need ==  * A web server running &amp;#039;&amp;#039;&amp;#039;Apache&amp;#039;&amp;#039;&amp;#039; with &amp;lt;code&amp;gt;mod_rewrite&amp;lt;/code&amp;gt; available (clean URLs are optional but recommended) * &amp;#039;&amp;#039;&amp;#039;PH...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page walks through installing RefractSurvey by hand on a server you&#039;ve already got. If you&#039;re starting from a completely bare Linux box and want the setup automated for you, see [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] instead &amp;amp;mdash; it does everything below for you plus the server-level setup.&lt;br /&gt;
&lt;br /&gt;
== What you&#039;ll need ==&lt;br /&gt;
&lt;br /&gt;
* A web server running &#039;&#039;&#039;Apache&#039;&#039;&#039; with &amp;lt;code&amp;gt;mod_rewrite&amp;lt;/code&amp;gt; available (clean URLs are optional but recommended)&lt;br /&gt;
* &#039;&#039;&#039;PHP 8.1 or newer&#039;&#039;&#039;, with the &amp;lt;code&amp;gt;pdo_mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mbstring&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;session&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;zip&amp;lt;/code&amp;gt; extensions enabled&lt;br /&gt;
* &#039;&#039;&#039;MySQL 5.7+ or MariaDB 10.3+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Most standard shared or VPS hosting already has all of this. The install wizard checks every one of these requirements for you and won&#039;t let you continue until they&#039;re met, so there&#039;s no need to double-check by hand beforehand.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
# Copy the &amp;lt;code&amp;gt;refractsurvey/&amp;lt;/code&amp;gt; folder to your web server, so its contents are what a visitor to your domain actually reaches.&lt;br /&gt;
# Make sure the &amp;lt;code&amp;gt;config/&amp;lt;/code&amp;gt; folder is writable by the web server&#039;s user &amp;amp;mdash; the installer needs to write your database credentials there.&lt;br /&gt;
# Visit &amp;lt;code&amp;gt;install.php&amp;lt;/code&amp;gt; in your browser and follow the wizard. It walks through:&lt;br /&gt;
#* &#039;&#039;&#039;Requirements&#039;&#039;&#039; &amp;amp;mdash; a live checklist of the PHP/Apache requirements above, with a re-check button if you need to fix something and try again.&lt;br /&gt;
#* &#039;&#039;&#039;Database&#039;&#039;&#039; &amp;amp;mdash; where your MySQL/MariaDB server is and which database to use.&lt;br /&gt;
#* &#039;&#039;&#039;Database user&#039;&#039;&#039; &amp;amp;mdash; the wizard creates a new, scoped database account for the app to use day-to-day, rather than reusing your admin database credentials.&lt;br /&gt;
#* &#039;&#039;&#039;Appearance&#039;&#039;&#039; &amp;amp;mdash; pick a starting color theme (you can change this, and pick from the full set of 15, any time afterward from Manage &amp;amp;gt; Application Config).&lt;br /&gt;
#* &#039;&#039;&#039;Your account&#039;&#039;&#039; &amp;amp;mdash; create the first admin login and your first project.&lt;br /&gt;
# That&#039;s it &amp;amp;mdash; you&#039;ll land on the login page ready to sign in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;install.php&amp;lt;/code&amp;gt; refuses to run a second time once &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; exists, so there&#039;s no need to delete it afterward for safety&#039;s sake. If you ever do want to re-run the wizard from scratch, deleting &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; on the server is the supported way to do that.&lt;br /&gt;
&lt;br /&gt;
== Everyday use ==&lt;br /&gt;
&lt;br /&gt;
* Staff sign in at &amp;lt;code&amp;gt;/login&amp;lt;/code&amp;gt;. Everything else in the navigation (Surveys, Manage) requires being logged in and having the relevant permission &amp;amp;mdash; see [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]].&lt;br /&gt;
* The site&#039;s root URL (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) is always the &#039;&#039;&#039;public&#039;&#039;&#039; survey landing page &amp;amp;mdash; it asks an anonymous visitor for their access code and nothing else. That&#039;s the link you hand out to testers.&lt;br /&gt;
* Build a survey under a project, add groups and questions, then publish it. Generate access codes from the survey&#039;s Codes page and hand them out &amp;amp;mdash; see [[RefractSurvey_Codes|Codes]].&lt;br /&gt;
* Save any survey&#039;s current questions as a template from its builder page, then start a new survey from that template later &amp;amp;mdash; see [[RefractSurvey_Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Projects|Projects]] &amp;amp;mdash; set up your first project&lt;br /&gt;
* [[RefractSurvey_Upgrading|Upgrading]] &amp;amp;mdash; what to do when a new version comes out&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]] &amp;amp;mdash; what RefractSurvey already does to keep things locked down&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Automated_Server_Setup&amp;diff=175</id>
		<title>RefractSurvey Automated Server Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Automated_Server_Setup&amp;diff=175"/>
		<updated>2026-09-13T13:47:53Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: Created page with &amp;quot;If you&amp;#039;ve got a bare Debian or Ubuntu server (even a small one) and want RefractSurvey running on it with HTTPS, &amp;lt;code&amp;gt;refractsurvey_server/prereqs.sh&amp;lt;/code&amp;gt; does the whole job for you interactively &amp;amp;mdash; no need to hand-install Apache, PHP, or a database first.  &amp;#039;&amp;#039;&amp;#039;This is a technical, server-administration page.&amp;#039;&amp;#039;&amp;#039; If you already have a server set up with PHP/MySQL and just want to drop RefractSurvey onto it, see Getting Started inst...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you&#039;ve got a bare Debian or Ubuntu server (even a small one) and want RefractSurvey running on it with HTTPS, &amp;lt;code&amp;gt;refractsurvey_server/prereqs.sh&amp;lt;/code&amp;gt; does the whole job for you interactively &amp;amp;mdash; no need to hand-install Apache, PHP, or a database first.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a technical, server-administration page.&#039;&#039;&#039; If you already have a server set up with PHP/MySQL and just want to drop RefractSurvey onto it, see [[RefractSurvey_Getting_Started|Getting Started]] instead.&lt;br /&gt;
&lt;br /&gt;
== What it does ==&lt;br /&gt;
&lt;br /&gt;
Run it as root (or with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) from the unzipped release:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo refractsurvey_server/prereqs.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It interactively walks through:&lt;br /&gt;
&lt;br /&gt;
* Installing Apache, PHP 8.1+ (with the extensions RefractSurvey needs), and Certbot&lt;br /&gt;
* Choosing between a &#039;&#039;&#039;local&#039;&#039;&#039; database (the script installs and hardens MariaDB right there on the box) or a &#039;&#039;&#039;remote&#039;&#039;&#039; one (an existing MySQL/MariaDB server elsewhere &amp;amp;mdash; the script skips local database installation entirely and just helps confirm you can reach it)&lt;br /&gt;
* Setting up a new Apache virtual host for your domain&lt;br /&gt;
* Requesting a free HTTPS certificate from Let&#039;s Encrypt for that domain&lt;br /&gt;
* Copying the RefractSurvey application files into place&lt;br /&gt;
&lt;br /&gt;
== What it deliberately doesn&#039;t do ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;prereqs.sh&amp;lt;/code&amp;gt; stops short of creating the RefractSurvey database itself, the database user, or loading the schema &amp;amp;mdash; on either a local or remote database. That part happens in-browser, through &amp;lt;code&amp;gt;install.php&amp;lt;/code&amp;gt;&#039;s own setup wizard, once this script finishes. The script prints a summary at the end with the database host and admin credentials to feed into that wizard.&lt;br /&gt;
&lt;br /&gt;
In other words: this script gets a server &#039;&#039;&#039;ready&#039;&#039;&#039; to install RefractSurvey onto; the actual install wizard (see [[RefractSurvey_Getting_Started|Getting Started]]) is still a separate, final step.&lt;br /&gt;
&lt;br /&gt;
== Local vs. remote database ==&lt;br /&gt;
&lt;br /&gt;
If you tell the script you&#039;re using a &#039;&#039;&#039;remote&#039;&#039;&#039; database (one you already run elsewhere), it won&#039;t touch MariaDB on the local box at all &amp;amp;mdash; it&#039;ll only help you verify connectivity. Keep in mind a remote database server needs to be configured to accept connections from this machine specifically, both in its network settings and its user grants.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractSurvey_Upgrading|Upgrading]]&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=174</id>
		<title>RefractSurvey Cost Breakdown</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=174"/>
		<updated>2026-09-13T13:46:07Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: /* What you pay us */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey is a one-time purchase, not a subscription. Here&#039;s exactly what that means once you&#039;re running it.&lt;br /&gt;
&lt;br /&gt;
== What you pay us ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Item !! Cost&lt;br /&gt;
|-&lt;br /&gt;
| RefractSurvey license || Paid once, at [https://pixelrefractionstudio.itch.io/refractsurvey purchase]&lt;br /&gt;
|-&lt;br /&gt;
| Monthly subscription || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-seat / per-user fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-project fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-survey fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-response fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Update fees || $0 &amp;amp;mdash; every future release is a free download once you&#039;ve bought in&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There&#039;s no license key phoning home anywhere, and no feature gets locked behind a higher tier. Everything documented on this wiki is included.&lt;br /&gt;
&lt;br /&gt;
== What you pay someone else ==&lt;br /&gt;
&lt;br /&gt;
Because RefractSurvey is self-hosted, the only ongoing cost is wherever you choose to run it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;A server.&#039;&#039;&#039; A small virtual private server is plenty for most teams &amp;amp;mdash; RefractSurvey is plain PHP and MySQL/MariaDB with no background workers, no queue, and no build step to run.&lt;br /&gt;
* &#039;&#039;&#039;A domain name,&#039;&#039;&#039; if you want a friendly URL instead of a bare IP address. Optional.&lt;br /&gt;
* &#039;&#039;&#039;Nothing else.&#039;&#039;&#039; [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] even requests a free HTTPS certificate from Let&#039;s Encrypt for you, so there&#039;s no certificate fee either.&lt;br /&gt;
&lt;br /&gt;
== Unlimited, for real ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s no metering anywhere in the app:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Unlimited projects&#039;&#039;&#039; &amp;amp;mdash; run one game or ten from the same install.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited surveys&#039;&#039;&#039; &amp;amp;mdash; active, closed, or draft, it&#039;s all the same.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited responses&#039;&#039;&#039; &amp;amp;mdash; a wildly successful playtest wave doesn&#039;t cost you anything extra.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited users&#039;&#039;&#039; &amp;amp;mdash; add your whole team, and every external tester too, without a seat count anywhere.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_License|License]]&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=173</id>
		<title>RefractSurvey Cost Breakdown</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=173"/>
		<updated>2026-09-13T13:44:57Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: /* What you pay us */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey is a one-time purchase, not a subscription. Here&#039;s exactly what that means once you&#039;re running it.&lt;br /&gt;
&lt;br /&gt;
== What you pay us ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Item !! Cost&lt;br /&gt;
|-&lt;br /&gt;
| RefractSurvey license || Paid once, at [https://pixelrefractionstudio.itch.io/refractsurvey purchase]&lt;br /&gt;
|-&lt;br /&gt;
| Monthly subscription || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-seat / per-user fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-project fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-response or per-survey fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Update fees || $0 &amp;amp;mdash; every future release is a free download once you&#039;ve bought in&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There&#039;s no license key phoning home anywhere, and no feature gets locked behind a higher tier. Everything documented on this wiki is included.&lt;br /&gt;
&lt;br /&gt;
== What you pay someone else ==&lt;br /&gt;
&lt;br /&gt;
Because RefractSurvey is self-hosted, the only ongoing cost is wherever you choose to run it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;A server.&#039;&#039;&#039; A small virtual private server is plenty for most teams &amp;amp;mdash; RefractSurvey is plain PHP and MySQL/MariaDB with no background workers, no queue, and no build step to run.&lt;br /&gt;
* &#039;&#039;&#039;A domain name,&#039;&#039;&#039; if you want a friendly URL instead of a bare IP address. Optional.&lt;br /&gt;
* &#039;&#039;&#039;Nothing else.&#039;&#039;&#039; [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] even requests a free HTTPS certificate from Let&#039;s Encrypt for you, so there&#039;s no certificate fee either.&lt;br /&gt;
&lt;br /&gt;
== Unlimited, for real ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s no metering anywhere in the app:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Unlimited projects&#039;&#039;&#039; &amp;amp;mdash; run one game or ten from the same install.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited surveys&#039;&#039;&#039; &amp;amp;mdash; active, closed, or draft, it&#039;s all the same.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited responses&#039;&#039;&#039; &amp;amp;mdash; a wildly successful playtest wave doesn&#039;t cost you anything extra.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited users&#039;&#039;&#039; &amp;amp;mdash; add your whole team, and every external tester too, without a seat count anywhere.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_License|License]]&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=172</id>
		<title>RefractSurvey Cost Breakdown</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Cost_Breakdown&amp;diff=172"/>
		<updated>2026-09-13T13:44:43Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RefractSurvey is a one-time purchase, not a subscription. Here&#039;s exactly what that means once you&#039;re running it.&lt;br /&gt;
&lt;br /&gt;
== What you pay us ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Item !! Cost&lt;br /&gt;
|-&lt;br /&gt;
| RefractSurvey license (one-time) || Paid once, at [https://pixelrefractionstudio.itch.io/refractsurvey purchase]&lt;br /&gt;
|-&lt;br /&gt;
| Monthly subscription || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-seat / per-user fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-project fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Per-response or per-survey fees || $0&lt;br /&gt;
|-&lt;br /&gt;
| Update fees || $0 &amp;amp;mdash; every future release is a free download once you&#039;ve bought in&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There&#039;s no license key phoning home anywhere, and no feature gets locked behind a higher tier. Everything documented on this wiki is included.&lt;br /&gt;
&lt;br /&gt;
== What you pay someone else ==&lt;br /&gt;
&lt;br /&gt;
Because RefractSurvey is self-hosted, the only ongoing cost is wherever you choose to run it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;A server.&#039;&#039;&#039; A small virtual private server is plenty for most teams &amp;amp;mdash; RefractSurvey is plain PHP and MySQL/MariaDB with no background workers, no queue, and no build step to run.&lt;br /&gt;
* &#039;&#039;&#039;A domain name,&#039;&#039;&#039; if you want a friendly URL instead of a bare IP address. Optional.&lt;br /&gt;
* &#039;&#039;&#039;Nothing else.&#039;&#039;&#039; [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] even requests a free HTTPS certificate from Let&#039;s Encrypt for you, so there&#039;s no certificate fee either.&lt;br /&gt;
&lt;br /&gt;
== Unlimited, for real ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s no metering anywhere in the app:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Unlimited projects&#039;&#039;&#039; &amp;amp;mdash; run one game or ten from the same install.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited surveys&#039;&#039;&#039; &amp;amp;mdash; active, closed, or draft, it&#039;s all the same.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited responses&#039;&#039;&#039; &amp;amp;mdash; a wildly successful playtest wave doesn&#039;t cost you anything extra.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited users&#039;&#039;&#039; &amp;amp;mdash; add your whole team, and every external tester too, without a seat count anywhere.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_License|License]]&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Home&amp;diff=171</id>
		<title>RefractSurvey Home</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractSurvey_Home&amp;diff=171"/>
		<updated>2026-09-13T13:43:06Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to RefractSurvey ==&lt;br /&gt;
&lt;br /&gt;
RefractSurvey is a survey engine for game dev teams. Think of it as a friendly, self-hosted way to collect feedback from playtesters and friends, built specifically for helping you make the best game possible.&lt;br /&gt;
&lt;br /&gt;
This guide walks through everything RefractSurvey can do, organized by what you&#039;re trying to accomplish rather than how it&#039;s built.&lt;br /&gt;
&lt;br /&gt;
=== Get set up ===&lt;br /&gt;
&lt;br /&gt;
* [https://refractsurvey.com Brochure] &amp;amp;mdash; features and how they will be useful for you&lt;br /&gt;
* [[RefractSurvey_Cost_Breakdown|Cost Breakdown]] &amp;amp;mdash; what it costs&lt;br /&gt;
* [https://pixelrefractionstudio.itch.io/refractsurvey Buy it!] &amp;amp;mdash; go buy it at itch.io&lt;br /&gt;
* [[RefractSurvey_Getting_Started|Getting Started]] &amp;amp;mdash; what you need, and how to get RefractSurvey up and running&lt;br /&gt;
* [[RefractSurvey_Automated_Server_Setup|Automated Server Setup]] &amp;amp;mdash; turning a bare Linux computer (even a small one) into a ready-to-go RefractSurvey server&lt;br /&gt;
* [[RefractSurvey_Upgrading|Upgrading]] &amp;amp;mdash; moving an existing install to a newer version, files and database both&lt;br /&gt;
* [[RefractSurvey_License|License]] &amp;amp;mdash; license agreement when you buy it&lt;br /&gt;
&lt;br /&gt;
=== The basics ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Projects|Projects]] &amp;amp;mdash; keeping separate games or teams cleanly apart from each other&lt;br /&gt;
* [[RefractSurvey_Surveys|Surveys]] &amp;amp;mdash; a collection of questions&lt;br /&gt;
* [[RefractSurvey_Groups|Groups]] &amp;amp;mdash; for putting related questions together&lt;br /&gt;
* [[RefractSurvey_Questions|Questions]] &amp;amp;mdash; the meat of your survey&lt;br /&gt;
* [[RefractSurvey_Question_Types|Question Types]] &amp;amp;mdash; for asking all kinds of different questions&lt;br /&gt;
* [[RefractSurvey_Markdown_Formatting|Markdown Formatting]] &amp;amp;mdash; a little bit of styling for your question text and long answers&lt;br /&gt;
* [[RefractSurvey_Responses|Responses]] &amp;amp;mdash; how a survey taker answered the questions&lt;br /&gt;
* [[RefractSurvey_Codes|Codes]] &amp;amp;mdash; one-time codes for giving access to a survey&lt;br /&gt;
&lt;br /&gt;
=== Getting work done ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Media_Library|Media Library]] &amp;amp;mdash; some surveys have images, the media library helps you keep track of them&lt;br /&gt;
* [[RefractSurvey_Analytics|Analytics]] &amp;amp;mdash; every scale and choice question, charted automatically as answers come in&lt;br /&gt;
* [[RefractSurvey_Templates|Templates]] &amp;amp;mdash; build a survey once, reuse its shape forever&lt;br /&gt;
* [[RefractSurvey_Backups|Backups]] &amp;amp;mdash; taking your data out (or bringing it in) as a backup file&lt;br /&gt;
&lt;br /&gt;
=== Running your team ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Users|Users]] &amp;amp;mdash; adding teammates and managing their accounts&lt;br /&gt;
* [[RefractSurvey_Permissions_and_Roles|Permissions and Roles]] &amp;amp;mdash; controlling who can do what&lt;br /&gt;
* [[RefractSurvey_Themes_and_Branding|Themes and Branding]] &amp;amp;mdash; giving RefractSurvey your own look and name&lt;br /&gt;
* [[RefractSurvey_Security_Notes|Security Notes]] &amp;amp;mdash; what RefractSurvey does on its own to keep your data and your testers safe&lt;br /&gt;
&lt;br /&gt;
=== Everything at a glance ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractSurvey_Feature_Inventory|Feature Inventory]] &amp;amp;mdash; a quick checklist of everything RefractSurvey can do&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractSurvey]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Users.png&amp;diff=170</id>
		<title>File:RefractSurvey Users.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Users.png&amp;diff=170"/>
		<updated>2026-09-13T13:39:21Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Themes.png&amp;diff=169</id>
		<title>File:RefractSurvey Themes.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Themes.png&amp;diff=169"/>
		<updated>2026-09-13T13:38:56Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Templates.png&amp;diff=168</id>
		<title>File:RefractSurvey Templates.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Templates.png&amp;diff=168"/>
		<updated>2026-09-13T13:38:35Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Take_Survey.png&amp;diff=167</id>
		<title>File:RefractSurvey Take Survey.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Take_Survey.png&amp;diff=167"/>
		<updated>2026-09-13T13:38:16Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Surveys_List.png&amp;diff=166</id>
		<title>File:RefractSurvey Surveys List.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Surveys_List.png&amp;diff=166"/>
		<updated>2026-09-13T13:38:00Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Survey_Builder.png&amp;diff=165</id>
		<title>File:RefractSurvey Survey Builder.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Survey_Builder.png&amp;diff=165"/>
		<updated>2026-09-13T13:37:47Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Roles.png&amp;diff=164</id>
		<title>File:RefractSurvey Roles.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Roles.png&amp;diff=164"/>
		<updated>2026-09-13T13:37:29Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Public_Landing.png&amp;diff=163</id>
		<title>File:RefractSurvey Public Landing.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Public_Landing.png&amp;diff=163"/>
		<updated>2026-09-13T13:37:15Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Projects.png&amp;diff=162</id>
		<title>File:RefractSurvey Projects.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Projects.png&amp;diff=162"/>
		<updated>2026-09-13T13:37:01Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Media_Library.png&amp;diff=161</id>
		<title>File:RefractSurvey Media Library.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Media_Library.png&amp;diff=161"/>
		<updated>2026-09-13T13:36:43Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Login.png&amp;diff=160</id>
		<title>File:RefractSurvey Login.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Login.png&amp;diff=160"/>
		<updated>2026-09-13T13:36:24Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Codes.png&amp;diff=159</id>
		<title>File:RefractSurvey Codes.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Codes.png&amp;diff=159"/>
		<updated>2026-09-13T13:36:11Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Analytics.png&amp;diff=158</id>
		<title>File:RefractSurvey Analytics.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=File:RefractSurvey_Analytics.png&amp;diff=158"/>
		<updated>2026-09-13T13:35:49Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Feature_Inventory&amp;diff=157</id>
		<title>RefractTrack Feature Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Feature_Inventory&amp;diff=157"/>
		<updated>2026-09-11T23:01:46Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feature Inventory ==&lt;br /&gt;
&lt;br /&gt;
A quick checklist of everything RefractTrack can do, with a link to the full page for each where there&#039;s more to say.&lt;br /&gt;
&lt;br /&gt;
* Clone an existing [[RefractTrack_Tasks|task]] as a starting point for a new one&lt;br /&gt;
* [[RefractTrack_Archiving|Archive and unarchive]] tasks, one at a time or all at once&lt;br /&gt;
* [[RefractTrack_Markdown_Formatting|Light text formatting]] — bold, italic, underline, headings, nested lists, code blocks with color highlighting across a wide range of game-dev languages (C#, Java, C/C++, JavaScript/TypeScript, GDScript/Python, JSON/YAML/CSS, XML/HTML, and SQL), and a live preview as you type&lt;br /&gt;
* Task codes that turn themselves into clickable links wherever they&#039;re mentioned&lt;br /&gt;
* A stripped-down issue-reporting form for teammates who shouldn&#039;t need full board access, plus a personal &#039;&#039;My Reports&#039;&#039; page so they can track what they&#039;ve submitted&lt;br /&gt;
* [[RefractTrack_Attachments|File attachments]] on every task — images, office documents, audio, and a wide range of source-code and game-engine formats, gated behind the same permission checks as everything else&lt;br /&gt;
* [[RefractTrack_Export_and_Import|Zip-file project backups]] — tickets, attachments, groups, stages, and saved lists all round-trip together, with a command-line option for backups too large to upload through a browser&lt;br /&gt;
* [[RefractTrack_Themes_and_Branding|15 color themes]], including an animated Rainbow option&lt;br /&gt;
* Automatic strong-password generation when adding a new [[RefractTrack_Users|user]]&lt;br /&gt;
* An [[RefractTrack_Approvals_and_Review|Approvals]] count always visible in the navigation bar&lt;br /&gt;
* [[RefractTrack_Projects|Projects]] that can be safely retired without ever losing their history&lt;br /&gt;
* Full [[RefractTrack_Permissions_and_Roles|role-based permissions]] — reusable roles, per-person fine-tuning, and project-by-project access control&lt;br /&gt;
* Separate [[RefractTrack_Comments_and_Activity_Log|Comments and Activity]] tabs on every task, with comment edit history preserved&lt;br /&gt;
* [[RefractTrack_Bulk_Task_Creation_and_Saved_Lists|Bulk task creation]] with reusable saved lists&lt;br /&gt;
* Drag-and-drop [[RefractTrack_Board_and_List_Views|board]] with an optional due-date prompt when moving tasks&lt;br /&gt;
* Independent [[RefractTrack_Stages|Stages]], [[RefractTrack_Groups|Groups]], and saved lists for every project&lt;br /&gt;
* An optional [[RefractTrack_Automated_Server_Setup|automated setup script]] for standing a brand-new server up from scratch, and a guided [[RefractTrack_Upgrading|upgrade script]] for moving an existing install forward&lt;br /&gt;
* Behind-the-scenes database updates that keep an upgraded install current automatically, with no manual steps for everyday use&lt;br /&gt;
* If two people edit the same task at the same moment, RefractTrack quietly keeps both sets of changes wherever it can, and leaves a plain-language note instead of ever silently losing anyone&#039;s edit&lt;br /&gt;
* RefractTrack remembers the project you were last working in and opens straight to it next time you log in&lt;br /&gt;
* Switching projects keeps you on the same kind of page you were already on&lt;br /&gt;
* A full security hardening pass, covering everything from login protection to safe file downloads&lt;br /&gt;
&lt;br /&gt;
See [[RefractTrack_Home|Home]] for a topic-by-topic guide to all of the above.&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Themes_and_Branding&amp;diff=156</id>
		<title>RefractTrack Themes and Branding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Themes_and_Branding&amp;diff=156"/>
		<updated>2026-09-11T23:01:04Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Themes and Branding ==&lt;br /&gt;
&lt;br /&gt;
Make RefractTrack feel like your own tool. From Manage → Application Config, an admin can change the app&#039;s display name and pick from a set of color themes — no technical setup, no files to touch, just a menu.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractTrack_Themes.png|border|center|700px|The Application Config screen, with the full set of color themes to choose from.]]&lt;br /&gt;
&lt;br /&gt;
=== Color themes ===&lt;br /&gt;
&lt;br /&gt;
RefractTrack ships with 15 accent-color themes to choose from:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Theme !! Feel&lt;br /&gt;
|-&lt;br /&gt;
| Blueprint || Cool blue (the default)&lt;br /&gt;
|-&lt;br /&gt;
| Slate || Steel cyan&lt;br /&gt;
|-&lt;br /&gt;
| Ember || Warm amber&lt;br /&gt;
|-&lt;br /&gt;
| Violet || Blue-violet&lt;br /&gt;
|-&lt;br /&gt;
| Rose || Pink-magenta&lt;br /&gt;
|-&lt;br /&gt;
| Moss || Forest green&lt;br /&gt;
|-&lt;br /&gt;
| Indigo || Deep indigo&lt;br /&gt;
|-&lt;br /&gt;
| Plum || Magenta-purple&lt;br /&gt;
|-&lt;br /&gt;
| Sky || Bright cyan-blue&lt;br /&gt;
|-&lt;br /&gt;
| Lime || Yellow-green&lt;br /&gt;
|-&lt;br /&gt;
| Frost || Pale icy blue&lt;br /&gt;
|-&lt;br /&gt;
| Monochrome || No color, just white&lt;br /&gt;
|-&lt;br /&gt;
| Crimson || Bold red&lt;br /&gt;
|-&lt;br /&gt;
| Sun || Bright yellow&lt;br /&gt;
|-&lt;br /&gt;
| Rainbow || A cycling, animated accent color&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The app is dark-themed throughout — these themes just change the accent color used for highlights and buttons, not the overall light or dark feel.&lt;br /&gt;
&lt;br /&gt;
During initial setup, you&#039;ll see a shorter list of four themes to pick from just to keep that first step simple — the full set of 15 is available afterward from Manage → Application Config any time you&#039;d like to switch.&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Permissions_and_Roles&amp;diff=155</id>
		<title>RefractTrack Permissions and Roles</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Permissions_and_Roles&amp;diff=155"/>
		<updated>2026-09-11T23:00:28Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Permissions and Roles ==&lt;br /&gt;
&lt;br /&gt;
Not everyone on a team needs (or should have) the same level of access. RefractTrack lets an admin control, in fine detail, exactly what each teammate can see and do — from full admins down to a playtester who can only submit bug reports.&lt;br /&gt;
&lt;br /&gt;
[[File:RefractTrack_Roles.png|border|center|700px|Roles are reusable permission presets you can apply to a teammate in one click.]]&lt;br /&gt;
&lt;br /&gt;
=== What can be controlled ===&lt;br /&gt;
&lt;br /&gt;
Access can be granted separately for each area of the app, including:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tasks&#039;&#039;&#039; — viewing, creating, editing content, moving between columns, reviewing, archiving, cloning, and deleting&lt;br /&gt;
* &#039;&#039;&#039;Comments&#039;&#039;&#039; — viewing, posting, and editing&lt;br /&gt;
* &#039;&#039;&#039;Attachments&#039;&#039;&#039; — viewing, uploading, and removing files&lt;br /&gt;
* &#039;&#039;&#039;Projects&#039;&#039;&#039; — viewing, creating, editing, and deactivating&lt;br /&gt;
* &#039;&#039;&#039;Stages and Groups&#039;&#039;&#039; — viewing and managing a project&#039;s columns and tags&lt;br /&gt;
* &#039;&#039;&#039;Saved lists&#039;&#039;&#039; — viewing and managing bulk-create lists&lt;br /&gt;
* &#039;&#039;&#039;Export and import&#039;&#039;&#039; — backing a project up or bringing data in&lt;br /&gt;
* &#039;&#039;&#039;Themes and branding&#039;&#039;&#039; — changing the app&#039;s look and name&lt;br /&gt;
* &#039;&#039;&#039;Users and roles&#039;&#039;&#039; — managing teammates and the roles they can be assigned&lt;br /&gt;
&lt;br /&gt;
Broader access always includes the narrower access it depends on — for example, being able to create tasks automatically means being able to view them too, so nobody ends up able to create something they can&#039;t then see.&lt;br /&gt;
&lt;br /&gt;
=== Roles make this easy ===&lt;br /&gt;
&lt;br /&gt;
Rather than setting every permission by hand for every person, an admin can define named &#039;&#039;&#039;roles&#039;&#039;&#039; — like &amp;quot;Reporter&amp;quot; or &amp;quot;Team Lead&amp;quot; — as reusable presets, then apply one to a teammate in a single click. Applying a role copies its permissions onto that person at that moment; if the role is edited later, it won&#039;t retroactively change anyone it was already applied to, so nobody&#039;s access shifts under them unexpectedly. Individual permissions can still be fine-tuned per person afterward, on top of whatever role they started from.&lt;br /&gt;
&lt;br /&gt;
=== Admins see everything ===&lt;br /&gt;
&lt;br /&gt;
A full admin account bypasses these checks entirely and always has complete access — including to anything added in a future update, with nothing extra to configure.&lt;br /&gt;
&lt;br /&gt;
=== Access can be limited per project ===&lt;br /&gt;
&lt;br /&gt;
For sensitive actions — working with tasks, comments, attachments, and backups — access can also be limited to specific projects. That means someone can be fully trusted to edit tasks in general, but still not see a project they haven&#039;t been given access to. Reporting a bug through the simplified ticket form works the other way around: by default a reporter can&#039;t submit anywhere until they&#039;re explicitly given access to at least one project, so a brand-new reporter account can&#039;t accidentally end up able to file into everything.&lt;br /&gt;
&lt;br /&gt;
Managing columns, tags, and saved lists, on the other hand, is a broader, team-wide grant rather than something scoped per project — someone either can manage these across the board, or they can&#039;t; it&#039;s just which project&#039;s columns or tags they happen to be looking at that changes from page to page.&lt;br /&gt;
&lt;br /&gt;
=== You can&#039;t grant more than you have ===&lt;br /&gt;
&lt;br /&gt;
Nobody can hand out a permission they don&#039;t hold themselves — whether they&#039;re setting up a teammate&#039;s account or building a role preset — and nobody can change their own permissions, even if they&#039;d otherwise be allowed to manage everyone else&#039;s. Both are enforced automatically, not just hidden from view, so there&#039;s no way to accidentally (or deliberately) work around them from the account-editing screen.&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Users|Users]]&lt;br /&gt;
* [[RefractTrack_Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Users&amp;diff=154</id>
		<title>RefractTrack Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Users&amp;diff=154"/>
		<updated>2026-09-11T22:59:50Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Users ==&lt;br /&gt;
&lt;br /&gt;
RefractTrack doesn&#039;t have public sign-up — accounts are added one at a time by an admin, which keeps a self-hosted board like this one closed to anyone you haven&#039;t personally invited.&lt;br /&gt;
&lt;br /&gt;
=== Adding a teammate ===&lt;br /&gt;
&lt;br /&gt;
From Users → Add User, an admin fills in:&lt;br /&gt;
&lt;br /&gt;
* A username and display name&lt;br /&gt;
* A password (RefractTrack can generate a strong one automatically, so nobody has to invent one on the spot)&lt;br /&gt;
* Permissions — either applied from a ready-made role, or set individually. See [[RefractTrack_Permissions_and_Roles|Permissions and Roles]].&lt;br /&gt;
* Which projects they should have access to&lt;br /&gt;
&lt;br /&gt;
=== Editing a teammate&#039;s account ===&lt;br /&gt;
&lt;br /&gt;
Display name, password, permissions, and project access can each be updated independently — so, for example, someone can be trusted to update a teammate&#039;s password without also being able to change what that teammate is allowed to do. Usernames can&#039;t be changed once an account is created.&lt;br /&gt;
&lt;br /&gt;
Changing someone&#039;s password also immediately signs them out of anywhere else they were already logged in — handy peace of mind if a password is being changed because it might have been compromised, rather than just as routine upkeep. Whoever makes the change stays logged into their own session as normal.&lt;br /&gt;
&lt;br /&gt;
=== Deactivating an account ===&lt;br /&gt;
&lt;br /&gt;
Deactivating someone&#039;s account takes effect immediately — as soon as it happens, they&#039;re logged out of anything they try to do next, rather than staying active until they happen to log in again.&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractTrack_Projects|Projects]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Export_and_Import&amp;diff=153</id>
		<title>RefractTrack Export and Import</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Export_and_Import&amp;diff=153"/>
		<updated>2026-09-11T22:57:52Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Export and Import ==&lt;br /&gt;
&lt;br /&gt;
A project&#039;s tickets can be backed up as a single &#039;&#039;&#039;.zip file&#039;&#039;&#039; and brought back in later — whether that&#039;s to restore from a backup, move a project onto a new server, or hand a project&#039;s history off to someone else. This is the one export/import format RefractTrack offers; there&#039;s no separate spreadsheet-style option, since a real backup needs to carry more than a spreadsheet can hold anyway (see below).&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s included ===&lt;br /&gt;
&lt;br /&gt;
A project&#039;s backup is genuinely everything about it, all in one file:&lt;br /&gt;
&lt;br /&gt;
* Every ticket&#039;s title, type, priority, column, review status, assignee, due date, description, groups, bug details (if any), and full comment/activity history — plus who created it and when. Whether a ticket is archived comes along too, so an archived ticket is still archived after being brought back in.&lt;br /&gt;
* Every ticket&#039;s &#039;&#039;&#039;attachments&#039;&#039;&#039; — the actual files, not just a note that they existed.&lt;br /&gt;
* The project&#039;s full set of [[RefractTrack_Stages|Stages]], [[RefractTrack_Groups|Groups]], and [[RefractTrack_Bulk_Task_Creation_and_Saved_Lists|saved bulk-create lists]] — every one the project has, not just the ones a ticket in this particular backup happens to use. That means a project&#039;s saved lists are backed up and restored right along with everything else, even ones that haven&#039;t been used to create a ticket yet.&lt;br /&gt;
&lt;br /&gt;
=== Bringing a backup back in ===&lt;br /&gt;
&lt;br /&gt;
When you import a backup into a project, RefractTrack gives every ticket a fresh number in that project rather than reusing the old ones, so there&#039;s never a numbering collision — and any task-code references between tickets (like a description mentioning &#039;&#039;FE-12&#039;&#039;) are automatically rewritten to point at the new numbers.&lt;br /&gt;
&lt;br /&gt;
Stages and groups are matched up by name against whichever project you&#039;re importing &#039;&#039;&#039;into&#039;&#039;&#039;. If a stage or group a ticket refers to doesn&#039;t already exist there, RefractTrack creates it for you automatically (using the color and description from the backup where available) rather than dropping the reference or leaving it blank — newly-created stages land at the front of the board with a note that they may need reordering. Saved lists are matched by name too, but handled a little more carefully: if a same-named list already exists in the project you&#039;re importing into, the existing one is left alone rather than overwritten, since it might be a different, already-in-use list that just happens to share a name.&lt;br /&gt;
&lt;br /&gt;
A backup can only be restored into a project that already has at least one ticket in it, or brought in as a brand-new project — an entirely empty project (nothing but a name and some saved lists) can&#039;t yet be exported at all, so there&#039;s nothing to import in that case either.&lt;br /&gt;
&lt;br /&gt;
=== Backups for very large projects ===&lt;br /&gt;
&lt;br /&gt;
A project with a lot of attachments can add up to a genuinely large file — hundreds of megabytes to a few gigabytes isn&#039;t unusual for a project with years of reference art and screenshots attached. Restoring a backup that big through a browser upload can run into your web server&#039;s own upload-size limit before RefractTrack ever gets a chance to look at it.&lt;br /&gt;
&lt;br /&gt;
For exactly this situation, there&#039;s a command-line import tool your server admin can run directly on the server: &amp;lt;code&amp;gt;scripts/import_backup.php&amp;lt;/code&amp;gt;. It reads the backup straight off local disk (get it there however you&#039;d normally move a file onto your server — scp, sftp, and so on), so there&#039;s no upload-size ceiling to run into at all. It&#039;s the same import logic as the regular in-browser version underneath, just fed a file path instead of a browser upload, so a backup restored this way ends up identical either way.&lt;br /&gt;
&lt;br /&gt;
=== A note on safety ===&lt;br /&gt;
&lt;br /&gt;
Because a backup is just a zip file, RefractTrack checks it carefully before trusting anything inside it — verifying the total size it would expand to &#039;&#039;&#039;before&#039;&#039;&#039; extracting anything (so an unexpectedly huge or malicious file is rejected up front, not partway through), and making sure nothing inside it can write outside of where it&#039;s supposed to go. None of this needs any thought on your part; it&#039;s just there so a shared or downloaded backup file can&#039;t do anything unexpected.&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Tasks|Tasks]]&lt;br /&gt;
* [[RefractTrack_Projects|Projects]]&lt;br /&gt;
* [[RefractTrack_Attachments|Attachments]]&lt;br /&gt;
* [[RefractTrack_Bulk_Task_Creation_and_Saved_Lists|Bulk Task Creation]]&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractTrack_Upgrading|Upgrading]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Attachments&amp;diff=152</id>
		<title>RefractTrack Attachments</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Attachments&amp;diff=152"/>
		<updated>2026-09-11T22:57:12Z</updated>

		<summary type="html">&lt;p&gt;Nerdofepic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Attachments ==&lt;br /&gt;
&lt;br /&gt;
Tasks can carry file attachments — a screenshot of a bug, a piece of reference art, a design doc, a sound cue, even a snippet of source code. RefractTrack accepts a wide range of file types right out of the box, grouped roughly like this:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Images&#039;&#039;&#039; — jpg, png, gif, webp&lt;br /&gt;
* &#039;&#039;&#039;Archives&#039;&#039;&#039; — zip&lt;br /&gt;
* &#039;&#039;&#039;Office documents&#039;&#039;&#039; — pdf, rtf, Office documents and their OpenDocument equivalents&lt;br /&gt;
* &#039;&#039;&#039;Audio&#039;&#039;&#039; — wav, ogg, mp3, mid, aiff, flac, alac, mp4, aac, m4a&lt;br /&gt;
* &#039;&#039;&#039;Plain text and data&#039;&#039;&#039; — txt, json, markdown, csv, xml, yaml, log, ini, cfg, conf, and others&lt;br /&gt;
* &#039;&#039;&#039;Source code&#039;&#039;&#039; — the usual suspects (C#, C++, Java, Python, JavaScript/TypeScript, and more)&lt;br /&gt;
* &#039;&#039;&#039;Game engine specific&#039;&#039;&#039; — a broad set of game-engine-specific scripting and scene formats (Godot, GameMaker, Ren&#039;Py, Roblox Luau, Papyrus, and others), handy for attaching a snippet straight from your project&lt;br /&gt;
&lt;br /&gt;
There&#039;s a small &amp;quot;?&amp;quot; button right next to the upload field on a task that lists everything currently accepted, grouped the same way, so nobody has to guess or come find this page mid-upload. An admin can widen or narrow the accepted list, and set a maximum file size, to suit your team — see your &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; if you&#039;re the one managing the server.&lt;br /&gt;
&lt;br /&gt;
A couple of things are deliberately &#039;&#039;&#039;never&#039;&#039;&#039; accepted, on every install, for safety: anything that looks like an installer or executable, and &amp;lt;code&amp;gt;.svg&amp;lt;/code&amp;gt; images (an SVG can secretly carry a script, which isn&#039;t something you want silently accepted as an &amp;quot;image&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Who can see what ===&lt;br /&gt;
&lt;br /&gt;
Attachments follow the same access rules as everything else in RefractTrack: only people with permission to view attachments — and access to that specific project — can open a file. There&#039;s no way to guess or share a direct link that bypasses those checks; every download is checked first.&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Tasks|Tasks]]&lt;br /&gt;
* [[RefractTrack_Permissions_and_Roles|Permissions and Roles]]&lt;br /&gt;
* [[RefractTrack_Export_and_Import|Export and Import]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
</feed>