Last modified by Veronika Kocher on Friday, 18 Sep 2026 16:47

Show last authors
1 Artistic and research projects involve many different tasks, decisions and responsibilities — from developing an initial idea and securing funding to organising materials, collaborating with others, publishing results and preserving them for future use.
2
3 The **Art & Research Services Navigator** helps you find relevant guidance, services and resources for each stage of your project.
4
5 {{info title="Support for Your Project:"}}
6 **Support Kunst und Forschung (SKF)** provides guidance for projects and grant applications and collaborates with the appropriate university services as needed.
7
8 The Navigator guides you through the project phases to the resources and points of contact relevant to your project.
9 {{/info}}
10
11 {{html clean="false"}}
12 <section data-arsn-search-block-fix="v5" style="margin:20px 0 26px 0;padding:16px 18px;border:1px solid #e3ded6;border-radius:10px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);">
13 <h2 style="font-size:20px;margin:0 0 6px 0;color:#35312d;">Search the Art &amp; Research Services Navigator</h2>
14 <p style="margin:0 0 12px 0;color:#6a655e;">Type a topic, synonym or common query. Matching pages are suggested immediately. Search-term links on the topic pages use the same controlled vocabulary.</p>
15 <form
16 id="arsn-search-form"
17 action="https://xwiki.uni-ak.ac.at/bin/view/Main/SolrSearch"
18 method="get"
19 role="search"
20 style="margin:0;"
21 >
22 <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap;">
23 <label for="arsn-search-input" style="position:absolute;left:-10000px;">
24 Search the Art &amp; Research Services Navigator
25 </label>
26
27 <input
28 id="arsn-search-input"
29 name="text"
30 type="search"
31 placeholder="Try: DOI, backup, copyright, GDPR, repository..."
32 autocomplete="off"
33 aria-autocomplete="list"
34 aria-controls="arsn-search-results"
35 aria-expanded="false"
36 style="flex:1 1 520px;min-width:260px;padding:11px 13px;border:1px solid #bbb;border-radius:6px;font-size:16px;"
37 />
38
39 <input type="hidden" name="f_type" value="DOCUMENT" />
40 <input type="hidden" name="sort" value="score" />
41 <input type="hidden" name="sortOrder" value="desc" />
42 <input type="hidden" name="facet" value="true" />
43 <input type="hidden" name="highlight" value="true" />
44 <input type="hidden" name="r" value="1" />
45
46 <button type="submit" class="btn btn-primary" style="padding:11px 22px;">
47 Search
48 </button>
49 </div>
50
51 <div
52 id="arsn-search-results"
53 role="listbox"
54 aria-label="Suggested pages"
55 hidden
56 style="margin-top:8px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.10);overflow:hidden;"
57 ></div>
58
59 <p
60 id="arsn-search-status"
61 style="position:absolute;left:-10000px;"
62 aria-live="polite"
63 ></p>
64 </form>
65
66 <script>
67 (function () {
68 "use strict";
69
70 var encodedIndex = "W3sidGl0bGUiOiJBcnQgJiBSZXNlYXJjaCBTZXJ2aWNlcyBOYXZpZ2F0b3IiLCJwaGFzZSI6Ik92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yLy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiYXJ0aXN0aWMgcmVzZWFyY2giLCJyZXNlYXJjaCBzZXJ2aWNlcyIsInJlc2VhcmNoIHN1cHBvcnQiLCJzZXJ2aWNlIG5hdmlnYXRvciIsInByb2plY3QgbGlmZWN5Y2xlIiwicmVzZWFyY2ggZGF0YSBtYW5hZ2VtZW50Iiwib3BlbiBzY2llbmNlIiwicmVzZWFyY2ggcHJvamVjdCIsImFydCByZXNlYXJjaCBzdXBwb3J0IiwicmVzZWFyY2ggc3VwcG9ydCBzZXJ2aWNlcyIsInJlc2VhcmNoIHdvcmtmbG93IiwicHJvamVjdCBzdXBwb3J0Il19LHsidGl0bGUiOiJFbmFibGUiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInByb2plY3Qgc2V0dXAiLCJwcm9qZWN0IHBsYW5uaW5nIiwicmVzZWFyY2ggZnVuZGluZyIsImRhdGEgbWFuYWdlbWVudCIsInJpZ2h0cyBhbmQgZXRoaWNzIiwic3RhcnRpbmcgYSBwcm9qZWN0IiwibmV3IHByb2plY3QiLCJwcm9qZWN0IHByZXBhcmF0aW9uIiwicHJvamVrdHBsYW51bmciXX0seyJ0aXRsZSI6IkdldCBTdGFydGVkIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0dldCUyMFN0YXJ0ZWQvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImdldCBzdGFydGVkIiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCIsInJlc2VhcmNoIGRhdGEiLCJwcm9qZWN0IGxpZmVjeWNsZSIsIm5ldyBwcm9qZWN0Iiwic3RhcnRpbmcgYSBwcm9qZWN0IiwicmVzZWFyY2ggcHJvamVjdCIsImVpbnN0aWVnIiwicHJvamVrdHN0YXJ0Il19LHsidGl0bGUiOiJQcm9qZWN0IFBsYW5uaW5nICYgT3JnYW5pc2F0aW9uIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1Byb2plY3QlMjBQbGFubmluZyUyMCUyNiUyME9yZ2FuaXNhdGlvbi8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwicHJvamVjdCBwbGFubmluZyIsInByb2plY3Qgb3JnYW5pc2F0aW9uIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJyZXNvdXJjZXMiLCJ0aW1lbGluZSIsImJ1ZGdldCIsInJpc2sgbWFuYWdlbWVudCIsInByb2plY3Qgcm9sZXMiLCJwcm9qZWN0IHJlc3BvbnNpYmlsaXRpZXMiLCJwcm9qZWN0IGJ1ZGdldCIsInByb2plY3QgdGltZWxpbmUiLCJwcm9qZWN0IHJlc291cmNlcyIsInByb2pla3RwbGFudW5nIiwicHJvamVrdG9yZ2FuaXNhdGlvbiIsInp1c3TDpG5kaWdrZWl0ZW4iXX0seyJ0aXRsZSI6IkZ1bmRpbmcgJiBGdW5kZXIgUmVxdWlyZW1lbnRzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0Z1bmRpbmclMjAlMjYlMjBGdW5kZXIlMjBSZXF1aXJlbWVudHMvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInJlc2VhcmNoIGZ1bmRpbmciLCJmdW5kZXIgcmVxdWlyZW1lbnRzIiwiZ3JhbnQgcmVxdWlyZW1lbnRzIiwiZGF0YSBtYW5hZ2VtZW50IHBsYW4iLCJvcGVuIHNjaWVuY2UgcmVxdWlyZW1lbnRzIiwiZWxpZ2libGUgY29zdHMiLCJmdW5kaW5nIiwiZ3JhbnQiLCJncmFudCBhcHBsaWNhdGlvbiIsImZ1bmRlciIsImZ1bmRpbmcgcmVxdWlyZW1lbnRzIiwiZsO2cmRlcnVuZyIsImbDtnJkZXJnZWJlciIsImbDtnJkZXJiZWRpbmd1bmdlbiJdfSx7InRpdGxlIjoiSWRlbnRpZnkgWW91ciBEYXRhICYgUmVzZWFyY2ggT3V0cHV0cyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9JZGVudGlmeSUyMFlvdXIlMjBEYXRhJTIwJTI2JTIwUmVzZWFyY2glMjBPdXRwdXRzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJyZXNlYXJjaCBkYXRhIiwiYXJ0aXN0aWMgb3V0cHV0cyIsInJlc2VhcmNoIG91dHB1dHMiLCJkYXRhIGludmVudG9yeSIsIm1hdGVyaWFsIHR5cGVzIiwiZGF0YSBjbGFzc2lmaWNhdGlvbiIsImRhdGEgdHlwZXMiLCJyZXNlYXJjaCBtYXRlcmlhbHMiLCJvdXRwdXRzIiwiYXJ0aXN0aWMgcmVzZWFyY2ggb3V0cHV0cyIsInJlc2VhcmNoIG9iamVjdHMiLCJmb3JzY2h1bmdzZGF0ZW4iLCJmb3JzY2h1bmdzb3V0cHV0cyJdfSx7InRpdGxlIjoiUGxhbiBZb3VyIERhdGEgTWFuYWdlbWVudCIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9QbGFuJTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJkYXRhIG1hbmFnZW1lbnQgcGxhbiIsImRtcCIsImRhdGEgbGlmZWN5Y2xlIiwiZGF0YSBtYW5hZ2VtZW50IiwicmVzcG9uc2liaWxpdGllcyIsInJldmlldyBwb2ludHMiLCJyZXNlYXJjaCBkYXRhIG1hbmFnZW1lbnQiLCJyZG0iLCJkYXRhIG1hbmFnZW1lbnQgcGxhbm5pbmciLCJkYXRlbm1hbmFnZW1lbnRwbGFuIiwiZm9yc2NodW5nc2RhdGVubWFuYWdlbWVudCJdfSx7InRpdGxlIjoiQ29weXJpZ2h0LCBSaWdodHMgJiBMaWNlbmNlcyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9Db3B5cmlnaHQlMkMlMjBSaWdodHMlMjAlMjYlMjBMaWNlbmNlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29weXJpZ2h0IiwicmlnaHRzIiwibGljZW5zaW5nIiwibGljZW5jZXMiLCJ0aGlyZC1wYXJ0eSByaWdodHMiLCJjcmVhdGl2ZSBjb21tb25zIiwicGVybWlzc2lvbnMiLCJ1cmhlYmVycmVjaHQiLCJyaWdodHMgY2xlYXJhbmNlIiwiY2MgbGljZW5jZSIsImNjIGxpY2Vuc2UiLCJ1c2FnZSByaWdodHMiLCJudXR6dW5nc3JlY2h0ZSIsInJlY2h0ZWtsw6RydW5nIl19LHsidGl0bGUiOiJEYXRhIFByb3RlY3Rpb24gJiBFdGhpY3MiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvRGF0YSUyMFByb3RlY3Rpb24lMjAlMjYlMjBFdGhpY3MvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImRhdGEgcHJvdGVjdGlvbiIsInBlcnNvbmFsIGRhdGEiLCJnZHByIiwiZXRoaWNzIiwiY29uc2VudCIsInNlbnNpdGl2ZSBkYXRhIiwiY29uZmlkZW50aWFsaXR5IiwiZGF0YSBwcml2YWN5IiwiZHNndm8iLCJhbm9ueW1pc2F0aW9uIiwiYW5vbnltaXphdGlvbiIsInBzZXVkb255bWlzYXRpb24iLCJwc2V1ZG9ueW1pemF0aW9uIiwiZGF0ZW5zY2h1dHoiLCJlaW53aWxsaWd1bmciXX0seyJ0aXRsZSI6IkZpbGUgT3JnYW5pc2F0aW9uICYgTmFtaW5nIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0ZpbGUlMjBPcmdhbmlzYXRpb24lMjAlMjYlMjBOYW1pbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImZpbGUgb3JnYW5pc2F0aW9uIiwiZm9sZGVyIHN0cnVjdHVyZSIsImZpbGUgbmFtaW5nIiwibmFtaW5nIGNvbnZlbnRpb25zIiwicHJvamVjdCBmaWxlcyIsImlkZW50aWZpZXJzIiwiZmlsZW5hbWUiLCJmaWxlbmFtZXMiLCJmb2xkZXIgbmFtaW5nIiwiZmlsZSBzdHJ1Y3R1cmUiLCJkYXRlaW9yZ2FuaXNhdGlvbiIsImRhdGVpYmVuZW5udW5nIiwib3JkbmVyc3RydWt0dXIiXX0seyJ0aXRsZSI6IlN0b3JhZ2UsIEJhY2t1cCAmIFNlY3VyaXR5IiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1N0b3JhZ2UlMkMlMjBCYWNrdXAlMjAlMjYlMjBTZWN1cml0eS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwic3RvcmFnZSIsImJhY2t1cCIsInNlY3VyaXR5IiwiYWNjZXNzIGNvbnRyb2wiLCIzLTItMSBiYWNrdXAiLCJpbnN0aXR1dGlvbmFsIHN0b3JhZ2UiLCJiYWNrdXAgcmVzdG9yZSIsInJlc3RvcmUiLCJjbG91ZCBzdG9yYWdlIiwiZGF0YSBzZWN1cml0eSIsImRhdGVuc2ljaGVydW5nIiwic3BlaWNoZXIiLCJ6dWdyaWZmc3NjaHV0eiJdfSx7InRpdGxlIjoiSW5mcmFzdHJ1Y3R1cmUsIFNlcnZpY2VzICYgVG9vbHMiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvSW5mcmFzdHJ1Y3R1cmUlMkMlMjBTZXJ2aWNlcyUyMCUyNiUyMFRvb2xzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJpbmZyYXN0cnVjdHVyZSIsInNlcnZpY2VzIiwidG9vbHMiLCJpbnN0aXR1dGlvbmFsIHNlcnZpY2VzIiwic29mdHdhcmUiLCJyZXBvc2l0b3JpZXMiLCJyZXNlYXJjaCBpbmZyYXN0cnVjdHVyZSIsIml0IHNlcnZpY2VzIiwiZGlnaXRhbCB0b29scyIsImluZnJhc3RydWt0dXIiLCJkaWVuc3RlIiwid2Vya3pldWdlIl19LHsidGl0bGUiOiJDb2xsYWJvcmF0aW9uIFNldHVwIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0NvbGxhYm9yYXRpb24lMjBTZXR1cC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29sbGFib3JhdGlvbiIsImRhdGEgZXhjaGFuZ2UiLCJzaGFyZWQgd29ya3NwYWNlIiwiYWNjb3VudHMiLCJhY2Nlc3MgZ3JvdXBzIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJoYW5kb3ZlciIsInRlYW0gY29sbGFib3JhdGlvbiIsInByb2plY3QgcGFydG5lcnMiLCJzaGFyZWQgZm9sZGVyIiwic2hhcmVkIGFjY291bnRzIiwiY29sbGFib3JhdGl2ZSB3b3JraW5nIiwienVzYW1tZW5hcmJlaXQiLCJkYXRlbmF1c3RhdXNjaCJdfSx7InRpdGxlIjoiUXVpY2sgU3RhcnQgZm9yIFNtYWxsIFByb2plY3RzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1F1aWNrJTIwU3RhcnQlMjBmb3IlMjBTbWFsbCUyMFByb2plY3RzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJxdWljayBzdGFydCIsInNtYWxsIHByb2plY3RzIiwibWluaW11bSBzdGFuZGFyZCIsInByb2plY3QgY2hlY2tsaXN0IiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCBjaGVja2xpc3QiLCJxdWljayBndWlkZSIsIm1pbmltdW0gcmVxdWlyZW1lbnRzIiwic21hbGwgcHJvamVjdCBjaGVja2xpc3QiLCJjaGVja2xpc3RlIiwibWluZGVzdHN0YW5kYXJkIl19LHsidGl0bGUiOiJXb3JrICYgTWFuYWdlIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsIndvcmsgYW5kIG1hbmFnZSIsInByb2plY3QgbWFuYWdlbWVudCIsInJlc2VhcmNoIHdvcmtmbG93IiwiZG9jdW1lbnRhdGlvbiIsImRhdGEgbWFuYWdlbWVudCIsInF1YWxpdHkgYXNzdXJhbmNlIiwib25nb2luZyBwcm9qZWN0IiwicHJvamVjdCB3b3JrZmxvdyIsImxhdWZlbmRlcyBwcm9qZWt0IiwicHJvamVrdG1hbmFnZW1lbnQiXX0seyJ0aXRsZSI6Ik9yZ2FuaXNlIEZpbGVzICYgRm9sZGVycyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL09yZ2FuaXNlJTIwRmlsZXMlMjAlMjYlMjBGb2xkZXJzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJmaWxlIG9yZ2FuaXNhdGlvbiIsImZvbGRlciBzdHJ1Y3R1cmUiLCJwcm9qZWN0IGZpbGVzIiwibmFtaW5nIGNvbnZlbnRpb25zIiwidGVhbSB3b3JrZmxvdyIsImRhdGEgb3JnYW5pc2F0aW9uIiwiZmlsZSBzdHJ1Y3R1cmUiLCJmb2xkZXIgb3JnYW5pc2F0aW9uIiwiZGF0ZWlvcmdhbmlzYXRpb24iLCJvcmRuZXJzdHJ1a3R1ciJdfSx7InRpdGxlIjoiTWFuYWdlIFZlcnNpb25zICYgTWFzdGVyIEZpbGVzIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvTWFuYWdlJTIwVmVyc2lvbnMlMjAlMjYlMjBNYXN0ZXIlMjBGaWxlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwidmVyc2lvbiBjb250cm9sIiwidmVyc2lvbnMiLCJtYXN0ZXIgZmlsZXMiLCJ3b3JraW5nIGNvcGllcyIsInB1Ymxpc2hlZCB2ZXJzaW9ucyIsInRyYWNlYWJpbGl0eSIsImdpdCIsInZlcnNpb25pbmciLCJtYXN0ZXIiLCJtYXN0ZXIgZmlsZSIsImZpbmFsIHZlcnNpb24iLCJ2ZXJzaW9uIGhpc3RvcnkiLCJ2ZXJzaW9uc3ZlcndhbHR1bmciLCJtYXN0ZXJkYXRlaSJdfSx7InRpdGxlIjoiU3RvcmUsIEJhY2sgVXAgJiBDb250cm9sIEFjY2VzcyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL1N0b3JlJTJDJTIwQmFjayUyMFVwJTIwJTI2JTIwQ29udHJvbCUyMEFjY2Vzcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwic3RvcmFnZSIsImJhY2t1cCIsImFjY2VzcyBjb250cm9sIiwic2VjdXJpdHkiLCJwZXJtaXNzaW9ucyIsInNlbnNpdGl2ZSBkYXRhIiwiaW5zdGl0dXRpb25hbCBzdG9yYWdlIiwiYmFja3VwIHJlc3RvcmUiLCJhY2Nlc3MgcGVybWlzc2lvbnMiLCJzZWN1cmUgc3RvcmFnZSIsImRhdGEgYWNjZXNzIiwienVncmlmZnNyZWNodGUiLCJkYXRlbnNpY2hlcnVuZyJdfSx7InRpdGxlIjoiRG9jdW1lbnQgUHJvY2Vzc2VzLCBNZXRhZGF0YSAmIFByb3ZlbmFuY2UiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Eb2N1bWVudCUyME1ldGFkYXRhJTIwJTI2JTIwUHJvdmVuYW5jZS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwiZG9jdW1lbnRhdGlvbiIsInJlc2VhcmNoIHByb2Nlc3MiLCJtZXRhZGF0YSIsInByb3ZlbmFuY2UiLCJjb250ZXh0IiwidHJhY2VhYmlsaXR5IiwicmVsYXRpb25zaGlwcyIsInRlY2huaWNhbCBkb2N1bWVudGF0aW9uIiwicHJvY2VzcyBkb2N1bWVudGF0aW9uIiwicmVzZWFyY2ggZG9jdW1lbnRhdGlvbiIsImRhdGEgbGluZWFnZSIsIm9yaWdpbiIsImhpc3Rvcnkgb2YgY2hhbmdlcyIsIm1ldGFkYXRlbiIsInByb3ZlbmllbnoiLCJwcm96ZXNzZG9rdW1lbnRhdGlvbiJdfSx7InRpdGxlIjoiVXNlIFN0YW5kYXJkcywgVm9jYWJ1bGFyaWVzICYgSWRlbnRpZmllcnMiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Vc2UlMjBTdGFuZGFyZHMlMkMlMjBWb2NhYnVsYXJpZXMlMjAlMjYlMjBJZGVudGlmaWVycy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwibWV0YWRhdGEgc3RhbmRhcmRzIiwiY29udHJvbGxlZCB2b2NhYnVsYXJpZXMiLCJhdXRob3JpdHkgZGF0YSIsImlkZW50aWZpZXJzIiwicGVyc2lzdGVudCBpZGVudGlmaWVycyIsImduZCIsImNpZG9jIGNybSIsImludGVyb3BlcmFiaWxpdHkiLCJnZXR0eSB2b2NhYnVsYXJpZXMiLCJub3JtZGF0YSIsIm5vcm1kYXRlbiIsImNvbnRyb2xsZWQgdm9jYWJ1bGFyeSIsInBlcnNpc3RlbnQgaWRlbnRpZmllciIsInBpZCIsIm1ldGFkYXRhIHNjaGVtYSIsIm9udG9sb2d5Iiwib250b2xvZ2llcyJdfSx7InRpdGxlIjoiUmV2aWV3IFlvdXIgRGF0YSBNYW5hZ2VtZW50IiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvUmV2aWV3JTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJkYXRhIG1hbmFnZW1lbnQgcmV2aWV3IiwiZG1wIHVwZGF0ZSIsInF1YWxpdHkgYXNzdXJhbmNlIiwicHJvamVjdCByZXZpZXciLCJyZXNwb25zaWJpbGl0aWVzIiwicmlzayByZXZpZXciLCJwcm9qZWN0IGNoYW5nZXMiLCJyZXZpZXcgZG1wIiwidXBkYXRlIGRtcCIsImRhdGEgbWFuYWdlbWVudCB1cGRhdGUiLCJxdWFsaXR5IHJldmlldyIsImRhdGVubWFuYWdlbWVudCDDvGJlcnByw7xmZW4iLCJkbXAgYWt0dWFsaXNpZXJlbiJdfSx7InRpdGxlIjoiUHVibGlzaCAmIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlc2VhcmNoIHB1YmxpY2F0aW9uIiwiZGlzc2VtaW5hdGlvbiIsIm9wZW4gc2NpZW5jZSIsInJlcG9zaXRvcmllcyIsInByZXNlcnZhdGlvbiIsInB1YmxpY2F0aW9uIiwic2hhcmluZyIsInJlc2VhcmNoIGRpc3NlbWluYXRpb24iLCJ2aXNpYmlsaXR5IiwicHVibGl6aWVyZW4iLCJ0ZWlsZW4iLCJzaWNodGJhcmtlaXQiXX0seyJ0aXRsZSI6IkRlY2lkZSBXaGF0IHRvIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0RlY2lkZSUyMFdoYXQlMjB0byUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInNoYXJpbmciLCJwdWJsaWNhdGlvbiBkZWNpc2lvbiIsImRpc2NvdmVyeSIsImFjY2VzcyIsInJldXNlIiwicHJlc2VydmF0aW9uIiwic2Vuc2l0aXZpdHkiLCJ3aGF0IHRvIHB1Ymxpc2giLCJ3aGF0IHRvIHNoYXJlIiwiZGlzY292ZXJ5IGFjY2VzcyByZXVzZSBwcmVzZXJ2YXRpb24iLCJmcmVpZ2FiZSIsInZlcsO2ZmZlbnRsaWNodW5nc2VudHNjaGVpZHVuZyJdfSx7InRpdGxlIjoiRkFJUiwgQ0FSRSAmIE9wZW4gU2NpZW5jZSIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9GQUlSJTJDJTIwQ0FSRSUyMCUyNiUyME9wZW4lMjBTY2llbmNlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsImZhaXIiLCJjYXJlIiwib3BlbiBzY2llbmNlIiwib3BlbiBhY2Nlc3MiLCJvcGVuIGRhdGEiLCJpbmRpZ2Vub3VzIGRhdGEgZ292ZXJuYW5jZSIsInJlc3BvbnNpYmxlIG9wZW5uZXNzIiwiZmluZGFibGUgYWNjZXNzaWJsZSBpbnRlcm9wZXJhYmxlIHJldXNhYmxlIiwiY29sbGVjdGl2ZSBiZW5lZml0IiwiYXV0aG9yaXR5IHRvIGNvbnRyb2wiLCJyZXNwb25zaWJpbGl0eSBldGhpY3MiLCJvZmZlbmUgd2lzc2Vuc2NoYWZ0Iiwib3BlbiByZXNlYXJjaCJdfSx7InRpdGxlIjoiTWFuYWdlIEFjY2VzcywgUmV1c2UgJiBMaWNlbnNpbmciLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFuYWdlJTIwQWNjZXNzJTJDJTIwUmV1c2UlMjAlMjYlMjBMaWNlbnNpbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiYWNjZXNzIiwicmV1c2UiLCJsaWNlbnNpbmciLCJsaWNlbmNlcyIsInBlcm1pc3Npb25zIiwiZW1iYXJnbyIsImNvbnRyb2xsZWQgYWNjZXNzIiwiY3JlYXRpdmUgY29tbW9ucyIsInJldXNlIHJpZ2h0cyIsIm9wZW4gbGljZW5jZSIsIm9wZW4gbGljZW5zZSIsImFjY2VzcyByZXN0cmljdGlvbiIsInp1Z2FuZyIsIm5hY2hudXR6dW5nIiwibGl6ZW56aWVydW5nIl19LHsidGl0bGUiOiJDaG9vc2UgYSBSZXBvc2l0b3J5IG9yIFB1YmxpY2F0aW9uIFBsYXRmb3JtIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nob29zZSUyMGElMjBSZXBvc2l0b3J5JTIwb3IlMjBQdWJsaWNhdGlvbiUyMFBsYXRmb3JtLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlcG9zaXRvcnkiLCJwdWJsaWNhdGlvbiBwbGF0Zm9ybSIsImRhdGEgcmVwb3NpdG9yeSIsImFyY2hpdmUiLCJ0cnVzdGVkIHJlcG9zaXRvcnkiLCJjb3JldHJ1c3RzZWFsIiwiaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IiwicmVzZWFyY2ggcmVwb3NpdG9yeSIsInB1YmxpY2F0aW9uIHZlbnVlIiwicmVwb3NpdG9yeSBzZWxlY3Rpb24iLCJyZXBvc2l0b3JpdW0iLCJwdWJsaWthdGlvbnNwbGF0dGZvcm0iLCJhcmNoaXYiXX0seyJ0aXRsZSI6Ik1ha2UgT3V0cHV0cyBGaW5kYWJsZSAmIENpdGFibGUiLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFrZSUyME91dHB1dHMlMjBGaW5kYWJsZSUyMCUyNiUyMENpdGFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZmluZGFiaWxpdHkiLCJjaXRhdGlvbiIsInBlcnNpc3RlbnQgaWRlbnRpZmllcnMiLCJwaWQiLCJkb2kiLCJvcmNpZCIsInJvciIsIm1ldGFkYXRhIiwidmVyc2lvbmluZyIsImRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiLCJkb2kgbnVtYmVyIiwicGVyc2lzdGVudCBpZGVudGlmaWVyIiwicGVyc2lzdGVudCBpZCIsImRhdGEgY2l0YXRpb24iLCJjaXRlIGRhdGEiLCJjaXRlIGRhdGFzZXQiLCJjaXRhdGlvbiBtZXRhZGF0YSIsInppdGllcmVuIiwieml0aWVyYmFya2VpdCIsImF1ZmZpbmRiYXJrZWl0Il19LHsidGl0bGUiOiJEaXNzZW1pbmF0ZSAmIFByZXNlbnQgWW91ciBSZXNlYXJjaCIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9EaXNzZW1pbmF0ZSUyMCUyNiUyMFByZXNlbnQlMjBZb3VyJTIwUmVzZWFyY2gvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZGlzc2VtaW5hdGlvbiIsInZpc2liaWxpdHkiLCJwcmVzZW50YXRpb24iLCJhdWRpZW5jZXMiLCJzY2llbmNlIGNvbW11bmljYXRpb24iLCJleGhpYml0aW9uIiwicHJvamVjdCB3ZWJzaXRlIiwicmVzZWFyY2ggY29tbXVuaWNhdGlvbiIsImNvbW11bmljYXRpb24iLCJwdWJsaWMgZW5nYWdlbWVudCIsImF1c3N0ZWxsdW5nIiwidmVybWl0dGx1bmciXX0seyJ0aXRsZSI6IlByZXNlcnZlIERhdGEgJiBBcnRpc3RpYyBPdXRwdXRzIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL1ByZXNlcnZlJTIwRGF0YSUyMCUyNiUyMEFydGlzdGljJTIwT3V0cHV0cy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcmVzZXJ2YXRpb24iLCJsb25nLXRlcm0gcHJlc2VydmF0aW9uIiwiYXJjaGl2aW5nIiwibWFzdGVyIGZpbGVzIiwiZmlsZSBmb3JtYXRzIiwidGVjaG5pY2FsIGRlcGVuZGVuY2llcyIsImVtdWxhdGlvbiIsImFydGlzdGljIG91dHB1dHMiLCJkaWdpdGFsIHByZXNlcnZhdGlvbiIsImxvbmcgdGVybSBhcmNoaXZlIiwicHJlc2VydmF0aW9uIG1hc3RlciIsImZvcm1hdCBtaWdyYXRpb24iLCJzb2Z0d2FyZSBwcmVzZXJ2YXRpb24iLCJsYW5nemVpdGFyY2hpdmllcnVuZyIsImFyY2hpdmllcnVuZyIsImVyaGFsdHVuZyJdfSx7InRpdGxlIjoiQ2xvc2UgJiBIYW5kIE92ZXIgWW91ciBQcm9qZWN0IiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nsb3NlJTIwJTI2JTIwSGFuZCUyME92ZXIlMjBZb3VyJTIwUHJvamVjdC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcm9qZWN0IGNsb3N1cmUiLCJoYW5kb3ZlciIsImFyY2hpdmUgZGVwb3NpdCIsImRlbGV0aW9uIiwiZmluYWwgZG9jdW1lbnRhdGlvbiIsInBvc3QtcHJvamVjdCByZXNwb25zaWJpbGl0eSIsInJldGVudGlvbiIsInByb2plY3QgZW5kIiwicHJvamVjdCBjb21wbGV0aW9uIiwiZmluYWwgaGFuZG92ZXIiLCJwcm9qZWN0IGFyY2hpdmUiLCJwcm9qZWt0YWJzY2hsdXNzIiwiw7xiZXJnYWJlIiwibMO2c2NodW5nIl19XQ==";
71 var pageIndex;
72
73 try {
74 var binary = window.atob(encodedIndex);
75 var bytes = Uint8Array.from(binary, function (character) {
76 return character.charCodeAt(0);
77 });
78
79 pageIndex = JSON.parse(
80 new TextDecoder("utf-8").decode(bytes)
81 );
82 } catch (error) {
83 console.error("Art & Research search index could not be loaded.", error);
84 return;
85 }
86
87 var form = document.getElementById("arsn-search-form");
88 var input = document.getElementById("arsn-search-input");
89 var resultsBox = document.getElementById("arsn-search-results");
90 var status = document.getElementById("arsn-search-status");
91 var currentResults = [];
92 var activeIndex = -1;
93
94 function normalise(value) {
95 return String(value || "")
96 .normalize("NFD")
97 .replace(/[\u0300-\u036f]/g, "")
98 .toLowerCase()
99 .replace(/[^a-z0-9]+/g, " ")
100 .trim();
101 }
102
103 function scorePage(page, query) {
104 var title = normalise(page.title);
105 var phase = normalise(page.phase);
106 var terms = page.terms.map(normalise);
107 var tokens = query.split(/\s+/).filter(Boolean);
108 var score = 0;
109
110 if (title === query) score += 500;
111 if (terms.indexOf(query) !== -1) score += 450;
112
113 if (title.indexOf(query) === 0) score += 300;
114 if (terms.some(function (term) {
115 return term.indexOf(query) === 0;
116 })) score += 260;
117
118 if (title.indexOf(query) !== -1) score += 180;
119 if (terms.some(function (term) {
120 return term.indexOf(query) !== -1;
121 })) score += 160;
122
123 if (phase.indexOf(query) !== -1) score += 40;
124
125 tokens.forEach(function (token) {
126 if (title.indexOf(token) !== -1) score += 35;
127
128 if (terms.some(function (term) {
129 return term.indexOf(token) !== -1;
130 })) score += 30;
131 });
132
133 return score;
134 }
135
136 function matchingTerms(page, query) {
137 return page.terms
138 .filter(function (term) {
139 return normalise(term).indexOf(query) !== -1;
140 })
141 .slice(0, 4);
142 }
143
144 function search(queryText) {
145 var query = normalise(queryText);
146
147 if (!query) return [];
148
149 return pageIndex
150 .map(function (page) {
151 return {
152 page: page,
153 score: scorePage(page, query)
154 };
155 })
156 .filter(function (entry) {
157 return entry.score > 0;
158 })
159 .sort(function (a, b) {
160 return (
161 b.score - a.score ||
162 a.page.title.localeCompare(b.page.title)
163 );
164 })
165 .slice(0, 8)
166 .map(function (entry) {
167 return entry.page;
168 });
169 }
170
171 function escapeHTML(value) {
172 return String(value)
173 .replace(/&/g, "&amp;")
174 .replace(/</g, "&lt;")
175 .replace(/>/g, "&gt;")
176 .replace(/"/g, "&quot;");
177 }
178
179 function setActive(index) {
180 var links = resultsBox.querySelectorAll("[role=option]");
181
182 if (!links.length) {
183 activeIndex = -1;
184 return;
185 }
186
187 activeIndex = Math.max(
188 0,
189 Math.min(index, links.length - 1)
190 );
191
192 links.forEach(function (link, itemIndex) {
193 var active = itemIndex === activeIndex;
194
195 link.setAttribute(
196 "aria-selected",
197 active ? "true" : "false"
198 );
199
200 link.style.background =
201 active ? "#f3f5f6" : "#fff";
202 });
203 }
204
205 function render() {
206 var query = normalise(input.value);
207 currentResults = search(input.value);
208 activeIndex = -1;
209
210 if (!query) {
211 resultsBox.hidden = true;
212 input.setAttribute("aria-expanded", "false");
213 resultsBox.innerHTML = "";
214 status.textContent = "";
215 return;
216 }
217
218 if (!currentResults.length) {
219 resultsBox.hidden = false;
220 input.setAttribute("aria-expanded", "true");
221 resultsBox.innerHTML =
222 '<div style="padding:12px 14px;color:#666;">' +
223 'No direct topic match. Press Search for XWiki full-text results.' +
224 '</div>';
225
226 status.textContent = "No direct topic suggestions.";
227 return;
228 }
229
230 resultsBox.innerHTML =
231 currentResults.map(function (page, index) {
232 var terms = matchingTerms(page, query);
233
234 var detail =
235 page.phase && page.phase !== "Overview"
236 ? page.phase
237 : "Art & Research Services Navigator";
238
239 if (terms.length) {
240 detail += " · " + terms.join(", ");
241 }
242
243 return (
244 '<a href="' +
245 escapeHTML(page.url) +
246 '" role="option" aria-selected="false"' +
247 ' data-index="' + index + '"' +
248 ' style="display:block;padding:11px 14px;border-bottom:1px solid #eee;color:#111;text-decoration:none;">' +
249 '<strong style="display:block;">' +
250 escapeHTML(page.title) +
251 '</strong>' +
252 '<span style="display:block;margin-top:2px;color:#6a655e;font-size:13px;">' +
253 escapeHTML(detail) +
254 '</span>' +
255 '</a>'
256 );
257 }).join("");
258
259 resultsBox.hidden = false;
260 input.setAttribute("aria-expanded", "true");
261
262 status.textContent =
263 currentResults.length +
264 " suggested page" +
265 (currentResults.length === 1 ? "" : "s") +
266 ".";
267 }
268
269 input.addEventListener("input", render);
270 input.addEventListener("focus", render);
271
272 input.addEventListener("keydown", function (event) {
273 if (resultsBox.hidden || !currentResults.length) return;
274
275 if (event.key === "ArrowDown") {
276 event.preventDefault();
277 setActive(activeIndex + 1);
278 } else if (event.key === "ArrowUp") {
279 event.preventDefault();
280
281 setActive(
282 activeIndex <= 0
283 ? currentResults.length - 1
284 : activeIndex - 1
285 );
286 } else if (event.key === "Enter" && activeIndex >= 0) {
287 event.preventDefault();
288 window.location.href = currentResults[activeIndex].url;
289 } else if (event.key === "Escape") {
290 resultsBox.hidden = true;
291 input.setAttribute("aria-expanded", "false");
292 }
293 });
294
295 form.addEventListener("submit", function (event) {
296 currentResults = search(input.value);
297
298 if (currentResults.length) {
299 event.preventDefault();
300 window.location.href = currentResults[0].url;
301 }
302 });
303
304 document.addEventListener("click", function (event) {
305 if (!form.contains(event.target)) {
306 resultsBox.hidden = true;
307 input.setAttribute("aria-expanded", "false");
308 }
309 });
310
311 // Search-term links on nested pages use ?q=<term>.
312 // Load that query into the search box automatically.
313 try {
314 var params = new URLSearchParams(window.location.search);
315 var linkedQuery = params.get("q");
316
317 if (linkedQuery) {
318 input.value = linkedQuery;
319 render();
320
321 window.setTimeout(function () {
322 input.focus();
323
324 if (input.scrollIntoView) {
325 input.scrollIntoView({
326 behavior: "smooth",
327 block: "center"
328 });
329 }
330 }, 50);
331 }
332 } catch (error) {
333 console.warn("Could not load linked navigator query.", error);
334 }
335 })();
336 </script>
337 </section>
338 {{/html}}
339
340 (% style="margin:10px 0 16px 0;color:#6a655e;font-size:13px;" %)
341 (((
342 Follow the project stages from left to right. Within each stage, topics are ordered by what you are most likely to need next; colour is used only as a subtle thematic cue.
343 )))
344
345 {{container layoutStyle="columns"}}
346
347 (((
348 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
349 (((
350 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
351 (((
352 [[image:enable.png||alt="Enable — Plan & Set Up" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
353 )))
354
355 (% style="padding:18px 17px 17px 17px;flex:1;" %)
356 (((
357 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
358 [[1. Prepare — Plan & Set Up>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||style="color:#111;text-decoration:none;font-weight:700;"]]
359
360 (% style="color:#666;margin-bottom:16px;" %)
361 Prepare your project before the main work begins.
362
363 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
364 START HERE
365
366 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
367 (((
368 [[Get Started>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Get%20Started/||style="color:#222;text-decoration:none;font-weight:600;"]]
369 )))
370
371 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
372 (((
373 [[Quick Start for Small Projects>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/||style="color:#222;text-decoration:none;font-weight:600;"]]
374 )))
375
376 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
377 PLAN & ORGANISE
378
379 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
380 (((
381 [[Project Planning & Organisation>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Project%20Planning%20%26%20Organisation/||style="color:#222;text-decoration:none;font-weight:600;"]]
382 )))
383
384 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
385 (((
386 [[Funding & Funder Requirements>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Funding%20%26%20Funder%20Requirements/||style="color:#222;text-decoration:none;font-weight:600;"]]
387 )))
388
389 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
390 (((
391 [[Identify Your Data & Research Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
392 )))
393
394 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
395 (((
396 [[Plan Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
397 )))
398
399 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
400 (((
401 [[File Organisation & Naming>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/||style="color:#222;text-decoration:none;font-weight:600;"]]
402 )))
403
404 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
405 PROTECT & CLARIFY
406
407 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
408 (((
409 [[Copyright, Rights & Licences>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/||style="color:#222;text-decoration:none;font-weight:600;"]]
410 )))
411
412 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
413 (((
414 [[Data Protection & Ethics>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/||style="color:#222;text-decoration:none;font-weight:600;"]]
415 )))
416
417 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
418 SET UP INFRASTRUCTURE
419
420 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
421 (((
422 [[Storage, Backup & Security>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/||style="color:#222;text-decoration:none;font-weight:600;"]]
423 )))
424
425 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
426 (((
427 [[Infrastructure, Services & Tools>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Infrastructure%2C%20Services%20%26%20Tools/||style="color:#222;text-decoration:none;font-weight:600;"]]
428 )))
429
430 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
431 (((
432 [[Collaboration Setup>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/||style="color:#222;text-decoration:none;font-weight:600;"]]
433 )))
434 )))
435
436 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
437 (((
438 [[Explore Enable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||class="btn btn-primary btn-block arsn-phase-cta"]]
439 )))
440 )))
441 )))
442
443 (((
444 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
445 (((
446 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
447 (((
448 [[image:work.png||alt="Work & Manage — Run Your Project" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
449 )))
450
451 (% style="padding:18px 17px 17px 17px;flex:1;" %)
452 (((
453 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
454 [[2. Work & Manage — Run Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||style="color:#111;text-decoration:none;font-weight:700;"]]
455
456 (% style="color:#666;margin-bottom:16px;" %)
457 Organise, document and review your project while the work is ongoing.
458
459 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
460 ORGANISE & DOCUMENT
461
462 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
463 (((
464 [[Organise Files & Folders>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Organise%20Files%20%26%20Folders/||style="color:#222;text-decoration:none;font-weight:600;"]]
465 )))
466
467 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
468 (((
469 [[Manage Versions & Master Files>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Manage%20Versions%20%26%20Master%20Files/||style="color:#222;text-decoration:none;font-weight:600;"]]
470 )))
471
472 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
473 (((
474 [[Document Processes, Metadata & Provenance>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/||style="color:#222;text-decoration:none;font-weight:600;"]]
475 )))
476
477 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
478 STORE & CONTROL ACCESS
479
480 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
481 (((
482 [[Store, Back Up & Control Access>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Store%2C%20Back%20Up%20%26%20Control%20Access/||style="color:#222;text-decoration:none;font-weight:600;"]]
483 )))
484
485 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
486 STANDARDISE & IDENTIFY
487
488 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
489 (((
490 [[Use Standards, Vocabularies & Identifiers>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Use%20Standards%2C%20Vocabularies%20%26%20Identifiers/||style="color:#222;text-decoration:none;font-weight:600;"]]
491 )))
492
493 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
494 REVIEW & ADAPT
495
496 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
497 (((
498 [[Review Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Review%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
499 )))
500 )))
501
502 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
503 (((
504 [[Explore Work & Manage>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||class="btn btn-primary btn-block arsn-phase-cta"]]
505 )))
506 )))
507 )))
508
509 (((
510 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
511 (((
512 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
513 (((
514 [[image:share.png||alt="Publish & Share — Make It Visible" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
515 )))
516
517 (% style="padding:18px 17px 17px 17px;flex:1;" %)
518 (((
519 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
520 [[3. Publish & Share — Make It Visible>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||style="color:#111;text-decoration:none;font-weight:700;"]]
521
522 (% class="arsn-phase-subtitle" style="color:#666;background:transparent;margin:2px 0 16px 0;padding:0;" %)
523 Decide how outputs should be shared, published, made findable and preserved.
524
525 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
526 DECIDE
527
528 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
529 (((
530 [[Decide What to Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/||style="color:#222;text-decoration:none;font-weight:600;"]]
531 )))
532
533 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
534 OPEN, REUSE & MAKE FINDABLE
535
536 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
537 (((
538 [[FAIR, CARE & Open Science>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/FAIR%2C%20CARE%20%26%20Open%20Science/||style="color:#222;text-decoration:none;font-weight:600;"]]
539 )))
540
541 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
542 (((
543 [[Manage Access, Reuse & Licensing>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/||style="color:#222;text-decoration:none;font-weight:600;"]]
544 )))
545
546 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
547 (((
548 [[Make Outputs Findable & Citable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Make%20Outputs%20Findable%20%26%20Citable/||style="color:#222;text-decoration:none;font-weight:600;"]]
549 )))
550
551 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
552 PUBLISH & PRESENT
553
554 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
555 (((
556 [[Disseminate & Present Your Research>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Disseminate%20%26%20Present%20Your%20Research/||style="color:#222;text-decoration:none;font-weight:600;"]]
557 )))
558
559 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
560 REPOSITORY, PRESERVE & HAND OVER
561
562 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
563 (((
564 [[Choose a Repository or Publication Platform>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Choose%20a%20Repository%20or%20Publication%20Platform/||style="color:#222;text-decoration:none;font-weight:600;"]]
565 )))
566
567 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
568 (((
569 [[Preserve Data & Artistic Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Preserve%20Data%20%26%20Artistic%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
570 )))
571
572 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
573 (((
574 [[Close & Hand Over Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Close%20%26%20Hand%20Over%20Your%20Project/||style="color:#222;text-decoration:none;font-weight:600;"]]
575 )))
576 )))
577
578 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
579 (((
580 [[Explore Publish & Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||class="btn btn-primary btn-block arsn-phase-cta"]]
581 )))
582 )))
583 )))
584
585 {{/container}}
586
587 (% style="margin-top:30px;" %)
588 (((
589 {{html clean="false"}}
590 <!-- ARSN_TRAINING_WORKSHOPS_V2_START -->
591 <section class="arsn-training-workshops" data-arsn-training-workshops="v2" style="margin:27px 0 22px 0;">
592 <div style="padding:16px 18px;background:#eef8fa;border:1px solid #cfe8ef;border-left:5px solid #21b6d7;border-radius:9px;">
593 <div style="font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:#3f6871;margin-bottom:5px;">TRAINING &amp; WORKSHOPS</div>
594 <h3 style="font-size:20px;line-height:1.3;margin:0 0 7px;color:#35312d;text-align:left;">Training, workshops &amp; consultation sessions</h3>
595 <p style="margin:0 0 10px;color:#5e5953;line-height:1.55;">Relevant opportunities for this topic will be shown here automatically from the central calendar.</p>
596 <span data-arsn-coming-soon="true" style="display:inline-block;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>
597 </div>
598 </section>
599 <!-- ARSN_TRAINING_WORKSHOPS_V2_END -->
600 {{/html}}
601
602 == Practical resources ==
603
604 Use practical resources when you need a concise overview, a step-by-step procedure or a ready-to-use project aid.
605
606 {{container layoutStyle="columns"}}
607
608 (((
609 {{box title="Info Sheets"}}
610 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
611 Short reference guides for common questions and decisions.
612
613 Resources will be linked here as the collection is developed.
614 {{/box}}
615 )))
616
617 (((
618 {{box title="Tutorials"}}
619 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
620 Step-by-step guidance for specific tasks and workflows.
621
622 Tutorials will be linked here as the collection is developed.
623 {{/box}}
624 )))
625
626 (((
627 {{box title="Checklists & Templates"}}
628 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
629 Ready-to-use checklists and templates for planning, managing and closing projects.
630
631 [[Start with the Quick Start checklist>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/]]
632 {{/box}}
633 )))
634
635 {{/container}}
636 )))
637
638 (% style="margin-top:30px;" %)
639 (((
640 == Need help deciding where to start? ==
641
642 {{info title="Where to start"}}
643 For **project development, funding, proposals and coordination of funded art and research projects**, **Support Kunst und Forschung** is a good place to start.
644
645 For more specific questions, the topic pages point directly to the relevant university services. When several areas are involved, use the navigator to see which support is useful at the next step.
646 {{/info}}
647 )))
648
649 {{html clean="false"}}<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
650
651 <style data-sn-service-navigator-master="1">
652 /* =========================================================
653 PHASE CARD SUBTITLES
654 ========================================================= */
655 #xwikicontent .arsn-phase-subtitle{
656 display:block!important;
657 margin:2px 0 16px 0!important;
658 padding:0!important;
659 background:transparent!important;
660 color:#666!important;
661 font-size:inherit!important;
662 font-weight:400!important;
663 letter-spacing:normal!important;
664 text-align:left!important;
665 word-spacing:normal!important;
666 }
667
668 /* =========================================================
669 MASTER TYPOGRAPHY
670 ========================================================= */
671 #xwikicontent h1,
672 #xwikicontent h2,
673 #xwikicontent h3,
674 #xwikicontent h4,
675 #xwikicontent h5,
676 #xwikicontent h6,
677 #xwikicontent .box-title,
678 #xwikicontent [role="heading"],
679 #xwikicontent h1 a,
680 #xwikicontent h2 a,
681 #xwikicontent h3 a,
682 #xwikicontent h4 a,
683 #xwikicontent h5 a,
684 #xwikicontent h6 a,
685 #xwikicontent .box-title a,
686 #xwikicontent [role="heading"] a{
687 text-align:left!important;
688 text-justify:auto!important;
689 word-spacing:normal!important;
690 }
691
692 /* =========================================================
693 COMING SOON / IN VORBEREITUNG
694 ========================================================= */
695 .sn-coming-soon-badge{
696 display:inline-block;
697 vertical-align:middle;
698 margin-left:10px;
699 padding:4px 8px;
700 border-radius:14px;
701 border:1px solid #efd9cc;
702 background:#fff4ee;
703 color:#8a4d36;
704 font-size:11px;
705 font-weight:700;
706 letter-spacing:.055em;
707 line-height:1.2;
708 white-space:nowrap;
709 }
710
711 /* =========================================================
712 NATIVE / DETAIL CALLOUT GEOMETRY
713 Preserve existing backgrounds.
714 ========================================================= */
715 #xwikicontent .arsn-info,
716 #xwikicontent .dmp-info,
717 #xwikicontent .ido-info,
718 #xwikicontent .pp-info,
719 #xwikicontent .infomessage{
720 box-sizing:border-box!important;
721 border-left:4px solid #21b6d7!important;
722 border-radius:8px;
723 text-align:left!important;
724 word-spacing:normal!important;
725 }
726
727 #xwikicontent .arsn-warn,
728 #xwikicontent .dmp-warn,
729 #xwikicontent .ido-warn,
730 #xwikicontent .pp-warn,
731 #xwikicontent .warn,
732 #xwikicontent .warning,
733 #xwikicontent .warningmessage,
734 #xwikicontent .errormessage{
735 box-sizing:border-box!important;
736 border-left:4px solid #e94b13!important;
737 border-radius:8px;
738 text-align:left!important;
739 word-spacing:normal!important;
740 }
741
742 [data-sn-master-equal-height],
743 [data-sn-master-first-row]{
744 box-sizing:border-box;
745 }
746
747 /* =========================================================
748 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
749 ========================================================= */
750 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
751 display:grid!important;
752 grid-template-columns:minmax(0,1fr)!important;
753 grid-auto-rows:auto!important;
754 width:100%!important;
755 max-width:none!important;
756 box-sizing:border-box!important;
757 justify-items:start!important;
758 align-items:start!important;
759 gap:2px!important;
760 text-align:left!important;
761 text-align-last:left!important;
762 text-justify:auto!important;
763 word-spacing:normal!important;
764 white-space:normal!important;
765 }
766 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
767 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
768 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
769 display:block!important;
770 width:100%!important;
771 margin:0!important;
772 text-align:left!important;
773 text-align-last:left!important;
774 text-justify:auto!important;
775 word-spacing:normal!important;
776 white-space:normal!important;
777 }
778 </style>
779
780 <script data-sn-service-navigator-master="1">
781 (function(){
782 "use strict";
783
784 var PAGE_KIND="overview";
785 var PLACEHOLDER=false;
786 var PLACEHOLDER_LABEL="COMING SOON";
787
788 var MOBILE_MAX=767;
789 var ROW_TOLERANCE=6;
790 var RESIZE_DEBOUNCE=220;
791
792 var root=
793 document.getElementById("xwikicontent")||
794 document.querySelector(".xwiki-rendering-content")||
795 document.querySelector("main")||
796 document.body;
797
798 if(!root)return;
799
800 var managedHeight=new Set();
801 var managedMargin=new Set();
802 var originalHeight=new WeakMap();
803 var originalMargin=new WeakMap();
804
805 var resizeTimer=0;
806 var running=false;
807
808 var THEMES=[
809 {
810 name:"BLUE",
811 accent:"#21b6d7",
812 bg:"#eaf7fb",
813 text:"#315d68",
814 labels:[
815 "HIER STARTEN",
816 "ENTSCHEIDEN",
817 "ÜBERPRÜFEN & ANPASSEN",
818 "START HERE",
819 "DECIDE",
820 "REVIEW & ADAPT"
821 ]
822 },
823 {
824 name:"RED",
825 accent:"#e94b13",
826 bg:"#fff1ec",
827 text:"#8a4d36",
828 labels:[
829 "PLANEN & ORGANISIEREN",
830 "ORGANISIEREN & DOKUMENTIEREN",
831 "PUBLIZIEREN & PRÄSENTIEREN",
832 "PLAN & ORGANISE",
833 "PLAN & ORGANIZE",
834 "ORGANISE & DOCUMENT",
835 "ORGANIZE & DOCUMENT",
836 "PUBLISH & PRESENT"
837 ]
838 },
839 {
840 name:"YELLOW",
841 accent:"#f0aa00",
842 bg:"#fff8e7",
843 text:"#785b17",
844 labels:[
845 "SCHÜTZEN & KLÄREN",
846 "STANDARDISIEREN & IDENTIFIZIEREN",
847 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
848 "PROTECT & CLARIFY",
849 "STANDARDISE & IDENTIFY",
850 "STANDARDIZE & IDENTIFY",
851 "OPEN, REUSE & MAKE FINDABLE"
852 ]
853 },
854 {
855 name:"GREEN",
856 accent:"#38b76a",
857 bg:"#edf9f1",
858 text:"#3f7451",
859 labels:[
860 "INFRASTRUKTUR EINRICHTEN",
861 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
862 "SPEICHERN & ZUGRIFF STEUERN",
863 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
864 "SET UP INFRASTRUCTURE",
865 "SET UP INFRASTRUCTURE & COLLABORATION",
866 "STORE & CONTROL ACCESS",
867 "REPOSITORY, PRESERVE & HAND OVER"
868 ]
869 }
870 ];
871
872 function num(value){
873 var n=parseFloat(value);
874 return Number.isFinite(n)?n:0;
875 }
876
877 function norm(value){
878 return String(value||"")
879 .replace(/\s+/g," ")
880 .trim()
881 .toUpperCase();
882 }
883
884 function visible(el){
885 if(!el||el.nodeType!==1)return false;
886
887 var style=getComputedStyle(el);
888 var rect=el.getBoundingClientRect();
889
890 return (
891 style.display!=="none"&&
892 style.visibility!=="hidden"&&
893 rect.width>20&&
894 rect.height>4
895 );
896 }
897
898 function saveStyle(el,map,property){
899 if(map.has(el))return;
900
901 map.set(el,{
902 value:el.style.getPropertyValue(property),
903 priority:el.style.getPropertyPriority(property)
904 });
905 }
906
907 function restoreStyle(el,map,property){
908 var original=map.get(el);
909
910 if(original&&original.value){
911 el.style.setProperty(
912 property,
913 original.value,
914 original.priority||""
915 );
916 }else{
917 el.style.removeProperty(property);
918 }
919 }
920
921 function resetRuntime(){
922 managedHeight.forEach(function(el){
923 restoreStyle(
924 el,
925 originalHeight,
926 "min-height"
927 );
928 el.removeAttribute(
929 "data-sn-master-equal-height"
930 );
931 });
932
933 managedMargin.forEach(function(el){
934 restoreStyle(
935 el,
936 originalMargin,
937 "margin-top"
938 );
939 el.removeAttribute(
940 "data-sn-master-first-row"
941 );
942 });
943
944 managedHeight.clear();
945 managedMargin.clear();
946 }
947
948 function themeFor(text){
949 var value=norm(text);
950
951 for(var i=0;i<THEMES.length;i++){
952 for(var j=0;j<THEMES[i].labels.length;j++){
953 var label=THEMES[i].labels[j];
954
955 /* Match only actual thematic labels.
956 Do not colour ordinary prose such as:
957 "Decide how outputs should be shared..." */
958 if(value===label){
959 return THEMES[i];
960 }
961 }
962 }
963
964 return null;
965 }
966
967 /* =======================================================
968 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
969 ======================================================= */
970
971 function colourDistance(a,b){
972 return Math.sqrt(
973 Math.pow(a[0]-b[0],2)+
974 Math.pow(a[1]-b[1],2)+
975 Math.pow(a[2]-b[2],2)
976 );
977 }
978
979 function makeFilledRedOrangeCTAsBorderless(){
980 var RED_ORANGE=[233,75,19];
981
982 Array.from(
983 root.querySelectorAll(
984 'a,button,[role="button"],input[type="submit"],input[type="button"]'
985 )
986 ).forEach(function(el){
987 if(!visible(el))return;
988
989 var style=getComputedStyle(el);
990 var rgb=parseRGB(style.backgroundColor);
991
992 if(!rgb)return;
993
994 if(
995 colourDistance(
996 rgb,
997 RED_ORANGE
998 )>55
999 ){
1000 return;
1001 }
1002
1003 var rect=el.getBoundingClientRect();
1004
1005 if(
1006 rect.width<80||
1007 rect.height<24
1008 ){
1009 return;
1010 }
1011
1012 el.style.setProperty(
1013 "border",
1014 "none",
1015 "important"
1016 );
1017
1018 el.style.setProperty(
1019 "border-left",
1020 "none",
1021 "important"
1022 );
1023
1024 el.style.setProperty(
1025 "border-top",
1026 "none",
1027 "important"
1028 );
1029
1030 el.style.setProperty(
1031 "border-right",
1032 "none",
1033 "important"
1034 );
1035
1036 el.style.setProperty(
1037 "border-bottom",
1038 "none",
1039 "important"
1040 );
1041
1042 el.style.setProperty(
1043 "box-shadow",
1044 "none",
1045 "important"
1046 );
1047 });
1048 }
1049
1050 /* =======================================================
1051 FULL-WIDTH THREE-LINE AREA LABELS
1052 ======================================================= */
1053
1054 function compactText(value){
1055 return String(value||"")
1056 .replace(/\s+/g," ")
1057 .trim();
1058 }
1059
1060 function makeThreeLineAreaLabels(){
1061 Array.from(
1062 root.querySelectorAll(
1063 ".arsn-area-label"
1064 )
1065 ).forEach(function(label){
1066 if(
1067 label.getAttribute(
1068 "data-sn-three-line"
1069 )==="1"
1070 ){
1071 return;
1072 }
1073
1074 var number=
1075 label.querySelector(
1076 ":scope > .arsn-area-number"
1077 );
1078
1079 var action=
1080 label.querySelector(
1081 ":scope > .arsn-area-action"
1082 );
1083
1084 if(
1085 !number||
1086 !action
1087 ){
1088 return;
1089 }
1090
1091 var clone=
1092 label.cloneNode(true);
1093
1094 var cloneNumber=
1095 clone.querySelector(
1096 ":scope > .arsn-area-number"
1097 );
1098
1099 var cloneAction=
1100 clone.querySelector(
1101 ":scope > .arsn-area-action"
1102 );
1103
1104 if(cloneNumber){
1105 cloneNumber.remove();
1106 }
1107
1108 if(cloneAction){
1109 cloneAction.remove();
1110 }
1111
1112 var titleText=
1113 compactText(
1114 clone.textContent
1115 );
1116
1117 if(!titleText){
1118 return;
1119 }
1120
1121 var numberNode=
1122 number.cloneNode(true);
1123
1124 var actionNode=
1125 action.cloneNode(true);
1126
1127 var titleNode=
1128 document.createElement(
1129 "span"
1130 );
1131
1132 titleNode.className=
1133 "sn-area-label-title";
1134
1135 titleNode.textContent=
1136 titleText;
1137
1138 while(label.firstChild){
1139 label.removeChild(
1140 label.firstChild
1141 );
1142 }
1143
1144 label.appendChild(
1145 numberNode
1146 );
1147
1148 label.appendChild(
1149 titleNode
1150 );
1151
1152 label.appendChild(
1153 actionNode
1154 );
1155
1156 label.setAttribute(
1157 "data-sn-three-line",
1158 "1"
1159 );
1160
1161 var head=
1162 label.closest(
1163 ".arsn-area-head"
1164 );
1165
1166 if(head){
1167 head.style.setProperty(
1168 "width",
1169 "100%",
1170 "important"
1171 );
1172
1173 head.style.setProperty(
1174 "max-width",
1175 "100%",
1176 "important"
1177 );
1178
1179 head.style.setProperty(
1180 "box-sizing",
1181 "border-box",
1182 "important"
1183 );
1184 }
1185 });
1186 }
1187
1188 /* =======================================================
1189 PLACEHOLDER BADGE
1190 ======================================================= */
1191
1192 function applyPlaceholderBadge(){
1193 if(!PLACEHOLDER)return;
1194
1195 if(
1196 document.querySelector(
1197 ".sn-coming-soon-badge"
1198 )
1199 ){
1200 return;
1201 }
1202
1203 var title=
1204 document.querySelector(
1205 "#document-title"
1206 )||
1207 document.querySelector(
1208 "h1"
1209 );
1210
1211 if(!title)return;
1212
1213 var badge=
1214 document.createElement(
1215 "span"
1216 );
1217
1218 badge.className=
1219 "sn-coming-soon-badge";
1220
1221 badge.textContent=
1222 PLACEHOLDER_LABEL;
1223
1224 badge.setAttribute(
1225 "aria-label",
1226 PLACEHOLDER_LABEL
1227 );
1228
1229 title.appendChild(
1230 badge
1231 );
1232 }
1233
1234 /* =======================================================
1235 DETAIL PAGE OWN-ACCENT PROPAGATION
1236 ======================================================= */
1237
1238 function parseRGB(value){
1239 var match=String(value||"").match(
1240 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
1241 );
1242
1243 if(!match)return null;
1244
1245 return [
1246 Number(match[1]),
1247 Number(match[2]),
1248 Number(match[3])
1249 ];
1250 }
1251
1252 function distance(a,b){
1253 return Math.sqrt(
1254 Math.pow(a[0]-b[0],2)+
1255 Math.pow(a[1]-b[1],2)+
1256 Math.pow(a[2]-b[2],2)
1257 );
1258 }
1259
1260 function paletteMatch(cssColor){
1261 var rgb=parseRGB(cssColor);
1262
1263 if(!rgb)return null;
1264
1265 var palette=[
1266 {hex:"#21b6d7",rgb:[33,182,215]},
1267 {hex:"#e94b13",rgb:[233,75,19]},
1268 {hex:"#f0aa00",rgb:[240,170,0]},
1269 {hex:"#38b76a",rgb:[56,183,106]}
1270 ];
1271
1272 var best=null;
1273 var bestDistance=Infinity;
1274
1275 palette.forEach(function(item){
1276 var d=distance(rgb,item.rgb);
1277
1278 if(d<bestDistance){
1279 best=item;
1280 bestDistance=d;
1281 }
1282 });
1283
1284 return bestDistance<=30
1285 ?best
1286 :null;
1287 }
1288
1289 function propagateDetailAccents(){
1290 if(PAGE_KIND!=="detail")return;
1291
1292 Array.from(
1293 root.querySelectorAll(
1294 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
1295 ".arsn-source,.dmp-source,.ido-source,.pp-source"
1296 )
1297 ).forEach(function(el){
1298 if(!visible(el))return;
1299
1300 var style=getComputedStyle(el);
1301
1302 if(
1303 num(style.borderTopWidth)>=2
1304 ){
1305 var match=
1306 paletteMatch(
1307 style.borderTopColor
1308 );
1309
1310 if(match){
1311 el.style.setProperty(
1312 "border-left",
1313 "4px solid "+match.hex,
1314 "important"
1315 );
1316 }
1317 }
1318 });
1319
1320 // Warning families: explicit safety override.
1321 Array.from(
1322 root.querySelectorAll(
1323 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
1324 ".warn,.warning,.warningmessage,.errormessage"
1325 )
1326 ).forEach(function(el){
1327 if(!visible(el))return;
1328
1329 el.style.setProperty(
1330 "border-left",
1331 "4px solid #e94b13",
1332 "important"
1333 );
1334 });
1335
1336 // Info families: explicit orientation override.
1337 Array.from(
1338 root.querySelectorAll(
1339 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
1340 )
1341 ).forEach(function(el){
1342 if(!visible(el))return;
1343
1344 el.style.setProperty(
1345 "border-left",
1346 "4px solid #21b6d7",
1347 "important"
1348 );
1349 });
1350 }
1351
1352 /* =======================================================
1353 OVERVIEW SEMANTIC THEME PALETTE
1354 ======================================================= */
1355
1356 function smallestThemeHeaders(){
1357 return Array.from(
1358 root.querySelectorAll(
1359 "div,span,p,strong,h3,h4,h5,h6"
1360 )
1361 ).filter(function(el){
1362 if(!visible(el))return false;
1363 if(!themeFor(el.textContent))return false;
1364
1365 return !Array.from(
1366 el.children||[]
1367 ).some(function(child){
1368 return !!themeFor(
1369 child.textContent
1370 );
1371 });
1372 });
1373 }
1374
1375 function findOverviewCard(header){
1376 var node=header.parentElement;
1377 var candidates=[];
1378
1379 while(node&&node!==root){
1380 var rect=node.getBoundingClientRect();
1381 var style=getComputedStyle(node);
1382
1383 var border=
1384 num(style.borderTopWidth)+
1385 num(style.borderRightWidth)+
1386 num(style.borderBottomWidth)+
1387 num(style.borderLeftWidth);
1388
1389 if(
1390 rect.width>=220&&
1391 rect.width<=800&&
1392 rect.height>=120&&
1393 border>=1
1394 ){
1395 candidates.push(node);
1396 }
1397
1398 node=node.parentElement;
1399 }
1400
1401 if(!candidates.length)return null;
1402
1403 candidates.sort(function(a,b){
1404 return (
1405 b.getBoundingClientRect().height-
1406 a.getBoundingClientRect().height
1407 );
1408 });
1409
1410 return candidates[0];
1411 }
1412
1413 function rowCandidates(link,card){
1414 var result=[];
1415 var cardRect=
1416 card.getBoundingClientRect();
1417
1418 var node=link;
1419
1420 while(node&&node!==card){
1421 if(visible(node)){
1422 var rect=
1423 node.getBoundingClientRect();
1424
1425 if(
1426 rect.height<=105&&
1427 rect.width>=
1428 cardRect.width*.50&&
1429 rect.width<=
1430 cardRect.width*1.03
1431 ){
1432 result.push(node);
1433 }
1434 }
1435
1436 node=node.parentElement;
1437 }
1438
1439 return result;
1440 }
1441
1442 function chooseOuterRow(
1443 candidates,
1444 link
1445 ){
1446 if(!candidates.length){
1447 return link;
1448 }
1449
1450 var bordered=
1451 candidates.filter(function(el){
1452 return (
1453 num(
1454 getComputedStyle(el)
1455 .borderLeftWidth
1456 )>=1
1457 );
1458 });
1459
1460 var pool=
1461 bordered.length
1462 ?bordered
1463 :candidates;
1464
1465 pool.sort(function(a,b){
1466 var ar=
1467 a.getBoundingClientRect();
1468
1469 var br=
1470 b.getBoundingClientRect();
1471
1472 return (
1473 ar.left-br.left||
1474 br.width-ar.width
1475 );
1476 });
1477
1478 return pool[0]||link;
1479 }
1480
1481 function applyOverviewPalette(){
1482 if(PAGE_KIND!=="overview"){
1483 return [];
1484 }
1485
1486 var headers=
1487 smallestThemeHeaders()
1488 .map(function(el){
1489 return {
1490 el:el,
1491 theme:
1492 themeFor(
1493 el.textContent
1494 ),
1495 card:
1496 findOverviewCard(
1497 el
1498 )
1499 };
1500 })
1501 .filter(function(row){
1502 return !!row.card;
1503 });
1504
1505 var unique=[];
1506 var seenHeaders=new Set();
1507
1508 headers.forEach(function(row){
1509 var key=
1510 row.theme.name+
1511 "|"+
1512 Math.round(
1513 row.card
1514 .getBoundingClientRect()
1515 .left
1516 )+
1517 "|"+
1518 Math.round(
1519 row.el
1520 .getBoundingClientRect()
1521 .top
1522 );
1523
1524 if(!seenHeaders.has(key)){
1525 seenHeaders.add(key);
1526 unique.push(row);
1527 }
1528 });
1529
1530 unique.forEach(function(row){
1531 var headerRect=
1532 row.el
1533 .getBoundingClientRect();
1534
1535 row.el.style.setProperty(
1536 "background",
1537 row.theme.bg,
1538 "important"
1539 );
1540
1541 row.el.style.setProperty(
1542 "color",
1543 row.theme.text,
1544 "important"
1545 );
1546
1547 row.el.style.setProperty(
1548 "text-align",
1549 "left",
1550 "important"
1551 );
1552
1553 row.el.style.setProperty(
1554 "word-spacing",
1555 "normal",
1556 "important"
1557 );
1558
1559 var later=
1560 unique
1561 .filter(function(other){
1562 return (
1563 other.card===row.card&&
1564 other.el
1565 .getBoundingClientRect()
1566 .top>
1567 headerRect.top+2
1568 );
1569 })
1570 .sort(function(a,b){
1571 return (
1572 a.el
1573 .getBoundingClientRect()
1574 .top-
1575 b.el
1576 .getBoundingClientRect()
1577 .top
1578 );
1579 });
1580
1581 var stopTop=
1582 later.length
1583 ?later[0].el
1584 .getBoundingClientRect()
1585 .top
1586 :Infinity;
1587
1588 Array.from(
1589 row.card.querySelectorAll("a")
1590 ).forEach(function(link){
1591 if(
1592 link.classList &&
1593 link.classList.contains(
1594 "arsn-phase-cta"
1595 )
1596 ){
1597 return;
1598 }
1599
1600 if(!visible(link))return;
1601
1602 var rect=
1603 link.getBoundingClientRect();
1604
1605 if(
1606 rect.top<=
1607 headerRect.bottom-2||
1608 rect.top>=
1609 stopTop-2
1610 ){
1611 return;
1612 }
1613
1614 var candidates=
1615 rowCandidates(
1616 link,
1617 row.card
1618 );
1619
1620 var target=
1621 chooseOuterRow(
1622 candidates,
1623 link
1624 );
1625
1626 candidates.forEach(function(el){
1627 el.style.setProperty(
1628 "border-left",
1629 "0 solid transparent",
1630 "important"
1631 );
1632 });
1633
1634 target.style.setProperty(
1635 "border-left",
1636 "3px solid "+
1637 row.theme.accent,
1638 "important"
1639 );
1640
1641 target.style.setProperty(
1642 "box-sizing",
1643 "border-box",
1644 "important"
1645 );
1646 });
1647 });
1648
1649 return unique;
1650 }
1651
1652 /* =======================================================
1653 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1654 ======================================================= */
1655
1656 function alignOverviewCards(headers){
1657 if(
1658 PAGE_KIND!=="overview"||
1659 window.innerWidth<=MOBILE_MAX
1660 ){
1661 return;
1662 }
1663
1664 var cards=[];
1665 var seen=new Set();
1666
1667 headers.forEach(function(row){
1668 if(!seen.has(row.card)){
1669 seen.add(row.card);
1670 cards.push(row.card);
1671 }
1672 });
1673
1674 if(cards.length<2){
1675 return;
1676 }
1677
1678 // Group cards by actual top position.
1679 var groups=[];
1680
1681 cards.forEach(function(card){
1682 var top=
1683 card.getBoundingClientRect().top;
1684
1685 var group=null;
1686
1687 for(var i=0;i<groups.length;i++){
1688 if(
1689 Math.abs(
1690 groups[i].top-top
1691 )<=ROW_TOLERANCE
1692 ){
1693 group=groups[i];
1694 break;
1695 }
1696 }
1697
1698 if(!group){
1699 group={
1700 top:top,
1701 cards:[]
1702 };
1703 groups.push(group);
1704 }
1705
1706 group.cards.push(card);
1707 });
1708
1709 groups.forEach(function(group){
1710 if(group.cards.length<2){
1711 return;
1712 }
1713
1714 var firstHeaders=
1715 group.cards.map(function(card){
1716 var candidates=
1717 headers
1718 .filter(function(row){
1719 return row.card===card;
1720 })
1721 .sort(function(a,b){
1722 return (
1723 a.el
1724 .getBoundingClientRect()
1725 .top-
1726 b.el
1727 .getBoundingClientRect()
1728 .top
1729 );
1730 });
1731
1732 return candidates.length
1733 ?candidates[0]
1734 :null;
1735 });
1736
1737 if(
1738 !firstHeaders.some(function(row){
1739 return !row;
1740 })
1741 ){
1742 var targetTop=
1743 Math.max.apply(
1744 Math,
1745 firstHeaders.map(function(row){
1746 return (
1747 row.el
1748 .getBoundingClientRect()
1749 .top-
1750 row.card
1751 .getBoundingClientRect()
1752 .top
1753 );
1754 })
1755 );
1756
1757 firstHeaders.forEach(function(row){
1758 var relativeTop=
1759 row.el
1760 .getBoundingClientRect()
1761 .top-
1762 row.card
1763 .getBoundingClientRect()
1764 .top;
1765
1766 var delta=
1767 targetTop-relativeTop;
1768
1769 if(delta>1){
1770 saveStyle(
1771 row.el,
1772 originalMargin,
1773 "margin-top"
1774 );
1775
1776 var current=
1777 num(
1778 getComputedStyle(
1779 row.el
1780 ).marginTop
1781 );
1782
1783 row.el.style.setProperty(
1784 "margin-top",
1785 (
1786 current+delta
1787 )+"px"
1788 );
1789
1790 row.el.setAttribute(
1791 "data-sn-master-first-row",
1792 "1"
1793 );
1794
1795 managedMargin.add(
1796 row.el
1797 );
1798 }
1799 });
1800 }
1801
1802 var maxHeight=0;
1803
1804 group.cards.forEach(function(card){
1805 maxHeight=
1806 Math.max(
1807 maxHeight,
1808 card
1809 .getBoundingClientRect()
1810 .height
1811 );
1812 });
1813
1814 maxHeight=
1815 Math.ceil(maxHeight);
1816
1817 group.cards.forEach(function(card){
1818 saveStyle(
1819 card,
1820 originalHeight,
1821 "min-height"
1822 );
1823
1824 card.style.setProperty(
1825 "min-height",
1826 maxHeight+"px"
1827 );
1828
1829 card.setAttribute(
1830 "data-sn-master-equal-height",
1831 "1"
1832 );
1833
1834 managedHeight.add(
1835 card
1836 );
1837 });
1838 });
1839 }
1840
1841 /* =======================================================
1842 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1843 ======================================================= */
1844
1845 function equaliseDetailGrids(){
1846 if(
1847 PAGE_KIND!=="detail"||
1848 window.innerWidth<=MOBILE_MAX
1849 ){
1850 return;
1851 }
1852
1853 var selectors=[
1854 ".arsn-grid",
1855 ".arsn-grid-2",
1856 ".arsn-grid-3",
1857 ".dmp-grid",
1858 ".ido-grid",
1859 ".pp-grid"
1860 ];
1861
1862 selectors.forEach(function(selector){
1863 Array.from(
1864 root.querySelectorAll(selector)
1865 ).forEach(function(grid){
1866 var children=
1867 Array.from(
1868 grid.children||[]
1869 ).filter(visible);
1870
1871 if(children.length<2){
1872 return;
1873 }
1874
1875 var groups=[];
1876
1877 children.forEach(function(child){
1878 var top=
1879 child
1880 .getBoundingClientRect()
1881 .top;
1882
1883 var group=null;
1884
1885 for(var i=0;i<groups.length;i++){
1886 if(
1887 Math.abs(
1888 groups[i].top-top
1889 )<=ROW_TOLERANCE
1890 ){
1891 group=groups[i];
1892 break;
1893 }
1894 }
1895
1896 if(!group){
1897 group={
1898 top:top,
1899 items:[]
1900 };
1901 groups.push(group);
1902 }
1903
1904 group.items.push(child);
1905 });
1906
1907 groups.forEach(function(group){
1908 if(group.items.length<2){
1909 return;
1910 }
1911
1912 var maxHeight=0;
1913
1914 group.items.forEach(function(item){
1915 maxHeight=
1916 Math.max(
1917 maxHeight,
1918 item
1919 .getBoundingClientRect()
1920 .height
1921 );
1922 });
1923
1924 maxHeight=
1925 Math.ceil(maxHeight);
1926
1927 group.items.forEach(function(item){
1928 saveStyle(
1929 item,
1930 originalHeight,
1931 "min-height"
1932 );
1933
1934 item.style.setProperty(
1935 "min-height",
1936 maxHeight+"px"
1937 );
1938
1939 item.setAttribute(
1940 "data-sn-master-equal-height",
1941 "1"
1942 );
1943
1944 managedHeight.add(item);
1945 });
1946 });
1947 });
1948 });
1949 }
1950
1951 /* =======================================================
1952 RUN / RESPONSIVE SCHEDULING
1953 ======================================================= */
1954
1955 function run(){
1956 if(running)return;
1957
1958 running=true;
1959
1960 try{
1961 resetRuntime();
1962 applyPlaceholderBadge();
1963 propagateDetailAccents();
1964
1965 var headers=
1966 applyOverviewPalette();
1967
1968 makeThreeLineAreaLabels();
1969 makeFilledRedOrangeCTAsBorderless();
1970
1971 if(
1972 window.innerWidth>
1973 MOBILE_MAX
1974 ){
1975 alignOverviewCards(
1976 headers
1977 );
1978
1979 equaliseDetailGrids();
1980 }
1981 }finally{
1982 running=false;
1983 }
1984 }
1985
1986 function onResize(){
1987 if(resizeTimer){
1988 clearTimeout(
1989 resizeTimer
1990 );
1991 }
1992
1993 resizeTimer=
1994 setTimeout(
1995 function(){
1996 resizeTimer=0;
1997 run();
1998 },
1999 RESIZE_DEBOUNCE
2000 );
2001 }
2002
2003 async function waitForReady(){
2004 if(
2005 document.readyState!=="complete"
2006 ){
2007 await new Promise(function(resolve){
2008 window.addEventListener(
2009 "load",
2010 resolve,
2011 {once:true}
2012 );
2013 });
2014 }
2015
2016 if(
2017 document.fonts&&
2018 document.fonts.ready
2019 ){
2020 try{
2021 await document.fonts.ready;
2022 }catch(error){}
2023 }
2024
2025 var images=
2026 Array.from(
2027 root.querySelectorAll("img")
2028 );
2029
2030 await Promise.all(
2031 images.map(function(img){
2032 if(img.complete){
2033 return Promise.resolve();
2034 }
2035
2036 return new Promise(function(resolve){
2037 var done=function(){
2038 resolve();
2039 };
2040
2041 img.addEventListener(
2042 "load",
2043 done,
2044 {once:true}
2045 );
2046
2047 img.addEventListener(
2048 "error",
2049 done,
2050 {once:true}
2051 );
2052 });
2053 })
2054 );
2055
2056 run();
2057 }
2058
2059 window.addEventListener(
2060 "resize",
2061 onResize,
2062 {passive:true}
2063 );
2064
2065 waitForReady();
2066 })();
2067 </script>
2068
2069 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->{{/html}}{{html clean="false"}}<!-- ARSN_PHASE_CTA_MOBILE_EDGE_FIX_V3_START -->
2070 <style data-arsn-phase-cta-mobile-edge-fix="3">
2071 @media (max-width:767px){
2072
2073 /* Remove the white side gutters around the three phase CTAs. */
2074 #xwikicontent .arsn-phase-cta-wrap{
2075 box-sizing:border-box!important;
2076 width:calc(100% + 2px)!important;
2077 max-width:none!important;
2078 margin:14px -1px -1px -1px!important;
2079 padding:0!important;
2080 border:0!important;
2081 border-left:0!important;
2082 box-shadow:none!important;
2083 background:transparent!important;
2084 }
2085
2086 /* Full-width orange CTA; no extra border/shadow. */
2087 #xwikicontent a.arsn-phase-cta{
2088 display:flex!important;
2089 align-items:center!important;
2090 justify-content:center!important;
2091 gap:8px!important;
2092
2093 box-sizing:border-box!important;
2094 width:100%!important;
2095 max-width:none!important;
2096 min-width:0!important;
2097
2098 margin:0!important;
2099 padding:12px 14px!important;
2100
2101 border:0!important;
2102 border-left:0!important;
2103 border-right:0!important;
2104 border-top:0!important;
2105 border-bottom:0!important;
2106 box-shadow:none!important;
2107
2108 border-radius:8px!important;
2109
2110 text-align:center!important;
2111 text-align-last:center!important;
2112 text-justify:auto!important;
2113 word-spacing:normal!important;
2114 white-space:normal!important;
2115 }
2116
2117 /* Keep an XWiki external-link icon on the same line/flex row. */
2118 #xwikicontent a.arsn-phase-cta::after{
2119 flex:0 0 auto!important;
2120 margin-left:2px!important;
2121 }
2122
2123 #xwikicontent a.arsn-phase-cta > .fa,
2124 #xwikicontent a.arsn-phase-cta > .icon,
2125 #xwikicontent a.arsn-phase-cta > .external-link-icon,
2126 #xwikicontent a.arsn-phase-cta > [class*="external"]{
2127 position:static!important;
2128 display:inline-block!important;
2129 flex:0 0 auto!important;
2130 margin:0!important;
2131 }
2132 }
2133 </style>
2134 <!-- ARSN_PHASE_CTA_MOBILE_EDGE_FIX_V3_END -->{{/html}}