Version 41.3 by Veronika Kocher on Friday, 04 Sep 2026 14:23

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