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

Hide last authors
Veronika Kocher 16.1 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.
Veronika Kocher 1.1 2
Veronika Kocher 43.2 3 The **Art & Research Services Navigator** helps you find relevant guidance, services and resources for each stage of your project.
Veronika Kocher 1.1 4
Veronika Kocher 40.1 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.
Veronika Kocher 39.14 7
Veronika Kocher 40.1 8 The Navigator guides you through the project phases to the resources and points of contact relevant to your project.
Veronika Kocher 39.14 9 {{/info}}
10
Veronika Kocher 35.1 11 {{html clean="false"}}
Veronika Kocher 39.20 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>
Veronika Kocher 35.1 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;">
Veronika Kocher 36.1 23 <label for="arsn-search-input" style="position:absolute;left:-10000px;">
24 Search the Art &amp; Research Services Navigator
25 </label>
Veronika Kocher 35.1 26
27 <input
28 id="arsn-search-input"
29 name="text"
30 type="search"
Veronika Kocher 36.1 31 placeholder="Try: DOI, backup, copyright, GDPR, repository..."
Veronika Kocher 35.1 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
Veronika Kocher 36.1 46 <button type="submit" class="btn btn-primary" style="padding:11px 22px;">
47 Search
48 </button>
Veronika Kocher 35.1 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
Veronika Kocher 36.1 70 var encodedIndex = "W3sidGl0bGUiOiJBcnQgJiBSZXNlYXJjaCBTZXJ2aWNlcyBOYXZpZ2F0b3IiLCJwaGFzZSI6Ik92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yLy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiYXJ0aXN0aWMgcmVzZWFyY2giLCJyZXNlYXJjaCBzZXJ2aWNlcyIsInJlc2VhcmNoIHN1cHBvcnQiLCJzZXJ2aWNlIG5hdmlnYXRvciIsInByb2plY3QgbGlmZWN5Y2xlIiwicmVzZWFyY2ggZGF0YSBtYW5hZ2VtZW50Iiwib3BlbiBzY2llbmNlIiwicmVzZWFyY2ggcHJvamVjdCIsImFydCByZXNlYXJjaCBzdXBwb3J0IiwicmVzZWFyY2ggc3VwcG9ydCBzZXJ2aWNlcyIsInJlc2VhcmNoIHdvcmtmbG93IiwicHJvamVjdCBzdXBwb3J0Il19LHsidGl0bGUiOiJFbmFibGUiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInByb2plY3Qgc2V0dXAiLCJwcm9qZWN0IHBsYW5uaW5nIiwicmVzZWFyY2ggZnVuZGluZyIsImRhdGEgbWFuYWdlbWVudCIsInJpZ2h0cyBhbmQgZXRoaWNzIiwic3RhcnRpbmcgYSBwcm9qZWN0IiwibmV3IHByb2plY3QiLCJwcm9qZWN0IHByZXBhcmF0aW9uIiwicHJvamVrdHBsYW51bmciXX0seyJ0aXRsZSI6IkdldCBTdGFydGVkIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0dldCUyMFN0YXJ0ZWQvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImdldCBzdGFydGVkIiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCIsInJlc2VhcmNoIGRhdGEiLCJwcm9qZWN0IGxpZmVjeWNsZSIsIm5ldyBwcm9qZWN0Iiwic3RhcnRpbmcgYSBwcm9qZWN0IiwicmVzZWFyY2ggcHJvamVjdCIsImVpbnN0aWVnIiwicHJvamVrdHN0YXJ0Il19LHsidGl0bGUiOiJQcm9qZWN0IFBsYW5uaW5nICYgT3JnYW5pc2F0aW9uIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1Byb2plY3QlMjBQbGFubmluZyUyMCUyNiUyME9yZ2FuaXNhdGlvbi8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwicHJvamVjdCBwbGFubmluZyIsInByb2plY3Qgb3JnYW5pc2F0aW9uIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJyZXNvdXJjZXMiLCJ0aW1lbGluZSIsImJ1ZGdldCIsInJpc2sgbWFuYWdlbWVudCIsInByb2plY3Qgcm9sZXMiLCJwcm9qZWN0IHJlc3BvbnNpYmlsaXRpZXMiLCJwcm9qZWN0IGJ1ZGdldCIsInByb2plY3QgdGltZWxpbmUiLCJwcm9qZWN0IHJlc291cmNlcyIsInByb2pla3RwbGFudW5nIiwicHJvamVrdG9yZ2FuaXNhdGlvbiIsInp1c3TDpG5kaWdrZWl0ZW4iXX0seyJ0aXRsZSI6IkZ1bmRpbmcgJiBGdW5kZXIgUmVxdWlyZW1lbnRzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0Z1bmRpbmclMjAlMjYlMjBGdW5kZXIlMjBSZXF1aXJlbWVudHMvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInJlc2VhcmNoIGZ1bmRpbmciLCJmdW5kZXIgcmVxdWlyZW1lbnRzIiwiZ3JhbnQgcmVxdWlyZW1lbnRzIiwiZGF0YSBtYW5hZ2VtZW50IHBsYW4iLCJvcGVuIHNjaWVuY2UgcmVxdWlyZW1lbnRzIiwiZWxpZ2libGUgY29zdHMiLCJmdW5kaW5nIiwiZ3JhbnQiLCJncmFudCBhcHBsaWNhdGlvbiIsImZ1bmRlciIsImZ1bmRpbmcgcmVxdWlyZW1lbnRzIiwiZsO2cmRlcnVuZyIsImbDtnJkZXJnZWJlciIsImbDtnJkZXJiZWRpbmd1bmdlbiJdfSx7InRpdGxlIjoiSWRlbnRpZnkgWW91ciBEYXRhICYgUmVzZWFyY2ggT3V0cHV0cyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9JZGVudGlmeSUyMFlvdXIlMjBEYXRhJTIwJTI2JTIwUmVzZWFyY2glMjBPdXRwdXRzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJyZXNlYXJjaCBkYXRhIiwiYXJ0aXN0aWMgb3V0cHV0cyIsInJlc2VhcmNoIG91dHB1dHMiLCJkYXRhIGludmVudG9yeSIsIm1hdGVyaWFsIHR5cGVzIiwiZGF0YSBjbGFzc2lmaWNhdGlvbiIsImRhdGEgdHlwZXMiLCJyZXNlYXJjaCBtYXRlcmlhbHMiLCJvdXRwdXRzIiwiYXJ0aXN0aWMgcmVzZWFyY2ggb3V0cHV0cyIsInJlc2VhcmNoIG9iamVjdHMiLCJmb3JzY2h1bmdzZGF0ZW4iLCJmb3JzY2h1bmdzb3V0cHV0cyJdfSx7InRpdGxlIjoiUGxhbiBZb3VyIERhdGEgTWFuYWdlbWVudCIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9QbGFuJTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJkYXRhIG1hbmFnZW1lbnQgcGxhbiIsImRtcCIsImRhdGEgbGlmZWN5Y2xlIiwiZGF0YSBtYW5hZ2VtZW50IiwicmVzcG9uc2liaWxpdGllcyIsInJldmlldyBwb2ludHMiLCJyZXNlYXJjaCBkYXRhIG1hbmFnZW1lbnQiLCJyZG0iLCJkYXRhIG1hbmFnZW1lbnQgcGxhbm5pbmciLCJkYXRlbm1hbmFnZW1lbnRwbGFuIiwiZm9yc2NodW5nc2RhdGVubWFuYWdlbWVudCJdfSx7InRpdGxlIjoiQ29weXJpZ2h0LCBSaWdodHMgJiBMaWNlbmNlcyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9Db3B5cmlnaHQlMkMlMjBSaWdodHMlMjAlMjYlMjBMaWNlbmNlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29weXJpZ2h0IiwicmlnaHRzIiwibGljZW5zaW5nIiwibGljZW5jZXMiLCJ0aGlyZC1wYXJ0eSByaWdodHMiLCJjcmVhdGl2ZSBjb21tb25zIiwicGVybWlzc2lvbnMiLCJ1cmhlYmVycmVjaHQiLCJyaWdodHMgY2xlYXJhbmNlIiwiY2MgbGljZW5jZSIsImNjIGxpY2Vuc2UiLCJ1c2FnZSByaWdodHMiLCJudXR6dW5nc3JlY2h0ZSIsInJlY2h0ZWtsw6RydW5nIl19LHsidGl0bGUiOiJEYXRhIFByb3RlY3Rpb24gJiBFdGhpY3MiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvRGF0YSUyMFByb3RlY3Rpb24lMjAlMjYlMjBFdGhpY3MvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImRhdGEgcHJvdGVjdGlvbiIsInBlcnNvbmFsIGRhdGEiLCJnZHByIiwiZXRoaWNzIiwiY29uc2VudCIsInNlbnNpdGl2ZSBkYXRhIiwiY29uZmlkZW50aWFsaXR5IiwiZGF0YSBwcml2YWN5IiwiZHNndm8iLCJhbm9ueW1pc2F0aW9uIiwiYW5vbnltaXphdGlvbiIsInBzZXVkb255bWlzYXRpb24iLCJwc2V1ZG9ueW1pemF0aW9uIiwiZGF0ZW5zY2h1dHoiLCJlaW53aWxsaWd1bmciXX0seyJ0aXRsZSI6IkZpbGUgT3JnYW5pc2F0aW9uICYgTmFtaW5nIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0ZpbGUlMjBPcmdhbmlzYXRpb24lMjAlMjYlMjBOYW1pbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImZpbGUgb3JnYW5pc2F0aW9uIiwiZm9sZGVyIHN0cnVjdHVyZSIsImZpbGUgbmFtaW5nIiwibmFtaW5nIGNvbnZlbnRpb25zIiwicHJvamVjdCBmaWxlcyIsImlkZW50aWZpZXJzIiwiZmlsZW5hbWUiLCJmaWxlbmFtZXMiLCJmb2xkZXIgbmFtaW5nIiwiZmlsZSBzdHJ1Y3R1cmUiLCJkYXRlaW9yZ2FuaXNhdGlvbiIsImRhdGVpYmVuZW5udW5nIiwib3JkbmVyc3RydWt0dXIiXX0seyJ0aXRsZSI6IlN0b3JhZ2UsIEJhY2t1cCAmIFNlY3VyaXR5IiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1N0b3JhZ2UlMkMlMjBCYWNrdXAlMjAlMjYlMjBTZWN1cml0eS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwic3RvcmFnZSIsImJhY2t1cCIsInNlY3VyaXR5IiwiYWNjZXNzIGNvbnRyb2wiLCIzLTItMSBiYWNrdXAiLCJpbnN0aXR1dGlvbmFsIHN0b3JhZ2UiLCJiYWNrdXAgcmVzdG9yZSIsInJlc3RvcmUiLCJjbG91ZCBzdG9yYWdlIiwiZGF0YSBzZWN1cml0eSIsImRhdGVuc2ljaGVydW5nIiwic3BlaWNoZXIiLCJ6dWdyaWZmc3NjaHV0eiJdfSx7InRpdGxlIjoiSW5mcmFzdHJ1Y3R1cmUsIFNlcnZpY2VzICYgVG9vbHMiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvSW5mcmFzdHJ1Y3R1cmUlMkMlMjBTZXJ2aWNlcyUyMCUyNiUyMFRvb2xzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJpbmZyYXN0cnVjdHVyZSIsInNlcnZpY2VzIiwidG9vbHMiLCJpbnN0aXR1dGlvbmFsIHNlcnZpY2VzIiwic29mdHdhcmUiLCJyZXBvc2l0b3JpZXMiLCJyZXNlYXJjaCBpbmZyYXN0cnVjdHVyZSIsIml0IHNlcnZpY2VzIiwiZGlnaXRhbCB0b29scyIsImluZnJhc3RydWt0dXIiLCJkaWVuc3RlIiwid2Vya3pldWdlIl19LHsidGl0bGUiOiJDb2xsYWJvcmF0aW9uIFNldHVwIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0NvbGxhYm9yYXRpb24lMjBTZXR1cC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29sbGFib3JhdGlvbiIsImRhdGEgZXhjaGFuZ2UiLCJzaGFyZWQgd29ya3NwYWNlIiwiYWNjb3VudHMiLCJhY2Nlc3MgZ3JvdXBzIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJoYW5kb3ZlciIsInRlYW0gY29sbGFib3JhdGlvbiIsInByb2plY3QgcGFydG5lcnMiLCJzaGFyZWQgZm9sZGVyIiwic2hhcmVkIGFjY291bnRzIiwiY29sbGFib3JhdGl2ZSB3b3JraW5nIiwienVzYW1tZW5hcmJlaXQiLCJkYXRlbmF1c3RhdXNjaCJdfSx7InRpdGxlIjoiUXVpY2sgU3RhcnQgZm9yIFNtYWxsIFByb2plY3RzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1F1aWNrJTIwU3RhcnQlMjBmb3IlMjBTbWFsbCUyMFByb2plY3RzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJxdWljayBzdGFydCIsInNtYWxsIHByb2plY3RzIiwibWluaW11bSBzdGFuZGFyZCIsInByb2plY3QgY2hlY2tsaXN0IiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCBjaGVja2xpc3QiLCJxdWljayBndWlkZSIsIm1pbmltdW0gcmVxdWlyZW1lbnRzIiwic21hbGwgcHJvamVjdCBjaGVja2xpc3QiLCJjaGVja2xpc3RlIiwibWluZGVzdHN0YW5kYXJkIl19LHsidGl0bGUiOiJXb3JrICYgTWFuYWdlIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsIndvcmsgYW5kIG1hbmFnZSIsInByb2plY3QgbWFuYWdlbWVudCIsInJlc2VhcmNoIHdvcmtmbG93IiwiZG9jdW1lbnRhdGlvbiIsImRhdGEgbWFuYWdlbWVudCIsInF1YWxpdHkgYXNzdXJhbmNlIiwib25nb2luZyBwcm9qZWN0IiwicHJvamVjdCB3b3JrZmxvdyIsImxhdWZlbmRlcyBwcm9qZWt0IiwicHJvamVrdG1hbmFnZW1lbnQiXX0seyJ0aXRsZSI6Ik9yZ2FuaXNlIEZpbGVzICYgRm9sZGVycyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL09yZ2FuaXNlJTIwRmlsZXMlMjAlMjYlMjBGb2xkZXJzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJmaWxlIG9yZ2FuaXNhdGlvbiIsImZvbGRlciBzdHJ1Y3R1cmUiLCJwcm9qZWN0IGZpbGVzIiwibmFtaW5nIGNvbnZlbnRpb25zIiwidGVhbSB3b3JrZmxvdyIsImRhdGEgb3JnYW5pc2F0aW9uIiwiZmlsZSBzdHJ1Y3R1cmUiLCJmb2xkZXIgb3JnYW5pc2F0aW9uIiwiZGF0ZWlvcmdhbmlzYXRpb24iLCJvcmRuZXJzdHJ1a3R1ciJdfSx7InRpdGxlIjoiTWFuYWdlIFZlcnNpb25zICYgTWFzdGVyIEZpbGVzIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvTWFuYWdlJTIwVmVyc2lvbnMlMjAlMjYlMjBNYXN0ZXIlMjBGaWxlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwidmVyc2lvbiBjb250cm9sIiwidmVyc2lvbnMiLCJtYXN0ZXIgZmlsZXMiLCJ3b3JraW5nIGNvcGllcyIsInB1Ymxpc2hlZCB2ZXJzaW9ucyIsInRyYWNlYWJpbGl0eSIsImdpdCIsInZlcnNpb25pbmciLCJtYXN0ZXIiLCJtYXN0ZXIgZmlsZSIsImZpbmFsIHZlcnNpb24iLCJ2ZXJzaW9uIGhpc3RvcnkiLCJ2ZXJzaW9uc3ZlcndhbHR1bmciLCJtYXN0ZXJkYXRlaSJdfSx7InRpdGxlIjoiU3RvcmUsIEJhY2sgVXAgJiBDb250cm9sIEFjY2VzcyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL1N0b3JlJTJDJTIwQmFjayUyMFVwJTIwJTI2JTIwQ29udHJvbCUyMEFjY2Vzcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwic3RvcmFnZSIsImJhY2t1cCIsImFjY2VzcyBjb250cm9sIiwic2VjdXJpdHkiLCJwZXJtaXNzaW9ucyIsInNlbnNpdGl2ZSBkYXRhIiwiaW5zdGl0dXRpb25hbCBzdG9yYWdlIiwiYmFja3VwIHJlc3RvcmUiLCJhY2Nlc3MgcGVybWlzc2lvbnMiLCJzZWN1cmUgc3RvcmFnZSIsImRhdGEgYWNjZXNzIiwienVncmlmZnNyZWNodGUiLCJkYXRlbnNpY2hlcnVuZyJdfSx7InRpdGxlIjoiRG9jdW1lbnQgUHJvY2Vzc2VzLCBNZXRhZGF0YSAmIFByb3ZlbmFuY2UiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Eb2N1bWVudCUyME1ldGFkYXRhJTIwJTI2JTIwUHJvdmVuYW5jZS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwiZG9jdW1lbnRhdGlvbiIsInJlc2VhcmNoIHByb2Nlc3MiLCJtZXRhZGF0YSIsInByb3ZlbmFuY2UiLCJjb250ZXh0IiwidHJhY2VhYmlsaXR5IiwicmVsYXRpb25zaGlwcyIsInRlY2huaWNhbCBkb2N1bWVudGF0aW9uIiwicHJvY2VzcyBkb2N1bWVudGF0aW9uIiwicmVzZWFyY2ggZG9jdW1lbnRhdGlvbiIsImRhdGEgbGluZWFnZSIsIm9yaWdpbiIsImhpc3Rvcnkgb2YgY2hhbmdlcyIsIm1ldGFkYXRlbiIsInByb3ZlbmllbnoiLCJwcm96ZXNzZG9rdW1lbnRhdGlvbiJdfSx7InRpdGxlIjoiVXNlIFN0YW5kYXJkcywgVm9jYWJ1bGFyaWVzICYgSWRlbnRpZmllcnMiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Vc2UlMjBTdGFuZGFyZHMlMkMlMjBWb2NhYnVsYXJpZXMlMjAlMjYlMjBJZGVudGlmaWVycy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwibWV0YWRhdGEgc3RhbmRhcmRzIiwiY29udHJvbGxlZCB2b2NhYnVsYXJpZXMiLCJhdXRob3JpdHkgZGF0YSIsImlkZW50aWZpZXJzIiwicGVyc2lzdGVudCBpZGVudGlmaWVycyIsImduZCIsImNpZG9jIGNybSIsImludGVyb3BlcmFiaWxpdHkiLCJnZXR0eSB2b2NhYnVsYXJpZXMiLCJub3JtZGF0YSIsIm5vcm1kYXRlbiIsImNvbnRyb2xsZWQgdm9jYWJ1bGFyeSIsInBlcnNpc3RlbnQgaWRlbnRpZmllciIsInBpZCIsIm1ldGFkYXRhIHNjaGVtYSIsIm9udG9sb2d5Iiwib250b2xvZ2llcyJdfSx7InRpdGxlIjoiUmV2aWV3IFlvdXIgRGF0YSBNYW5hZ2VtZW50IiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvUmV2aWV3JTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJkYXRhIG1hbmFnZW1lbnQgcmV2aWV3IiwiZG1wIHVwZGF0ZSIsInF1YWxpdHkgYXNzdXJhbmNlIiwicHJvamVjdCByZXZpZXciLCJyZXNwb25zaWJpbGl0aWVzIiwicmlzayByZXZpZXciLCJwcm9qZWN0IGNoYW5nZXMiLCJyZXZpZXcgZG1wIiwidXBkYXRlIGRtcCIsImRhdGEgbWFuYWdlbWVudCB1cGRhdGUiLCJxdWFsaXR5IHJldmlldyIsImRhdGVubWFuYWdlbWVudCDDvGJlcnByw7xmZW4iLCJkbXAgYWt0dWFsaXNpZXJlbiJdfSx7InRpdGxlIjoiUHVibGlzaCAmIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlc2VhcmNoIHB1YmxpY2F0aW9uIiwiZGlzc2VtaW5hdGlvbiIsIm9wZW4gc2NpZW5jZSIsInJlcG9zaXRvcmllcyIsInByZXNlcnZhdGlvbiIsInB1YmxpY2F0aW9uIiwic2hhcmluZyIsInJlc2VhcmNoIGRpc3NlbWluYXRpb24iLCJ2aXNpYmlsaXR5IiwicHVibGl6aWVyZW4iLCJ0ZWlsZW4iLCJzaWNodGJhcmtlaXQiXX0seyJ0aXRsZSI6IkRlY2lkZSBXaGF0IHRvIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0RlY2lkZSUyMFdoYXQlMjB0byUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInNoYXJpbmciLCJwdWJsaWNhdGlvbiBkZWNpc2lvbiIsImRpc2NvdmVyeSIsImFjY2VzcyIsInJldXNlIiwicHJlc2VydmF0aW9uIiwic2Vuc2l0aXZpdHkiLCJ3aGF0IHRvIHB1Ymxpc2giLCJ3aGF0IHRvIHNoYXJlIiwiZGlzY292ZXJ5IGFjY2VzcyByZXVzZSBwcmVzZXJ2YXRpb24iLCJmcmVpZ2FiZSIsInZlcsO2ZmZlbnRsaWNodW5nc2VudHNjaGVpZHVuZyJdfSx7InRpdGxlIjoiRkFJUiwgQ0FSRSAmIE9wZW4gU2NpZW5jZSIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9GQUlSJTJDJTIwQ0FSRSUyMCUyNiUyME9wZW4lMjBTY2llbmNlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsImZhaXIiLCJjYXJlIiwib3BlbiBzY2llbmNlIiwib3BlbiBhY2Nlc3MiLCJvcGVuIGRhdGEiLCJpbmRpZ2Vub3VzIGRhdGEgZ292ZXJuYW5jZSIsInJlc3BvbnNpYmxlIG9wZW5uZXNzIiwiZmluZGFibGUgYWNjZXNzaWJsZSBpbnRlcm9wZXJhYmxlIHJldXNhYmxlIiwiY29sbGVjdGl2ZSBiZW5lZml0IiwiYXV0aG9yaXR5IHRvIGNvbnRyb2wiLCJyZXNwb25zaWJpbGl0eSBldGhpY3MiLCJvZmZlbmUgd2lzc2Vuc2NoYWZ0Iiwib3BlbiByZXNlYXJjaCJdfSx7InRpdGxlIjoiTWFuYWdlIEFjY2VzcywgUmV1c2UgJiBMaWNlbnNpbmciLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFuYWdlJTIwQWNjZXNzJTJDJTIwUmV1c2UlMjAlMjYlMjBMaWNlbnNpbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiYWNjZXNzIiwicmV1c2UiLCJsaWNlbnNpbmciLCJsaWNlbmNlcyIsInBlcm1pc3Npb25zIiwiZW1iYXJnbyIsImNvbnRyb2xsZWQgYWNjZXNzIiwiY3JlYXRpdmUgY29tbW9ucyIsInJldXNlIHJpZ2h0cyIsIm9wZW4gbGljZW5jZSIsIm9wZW4gbGljZW5zZSIsImFjY2VzcyByZXN0cmljdGlvbiIsInp1Z2FuZyIsIm5hY2hudXR6dW5nIiwibGl6ZW56aWVydW5nIl19LHsidGl0bGUiOiJDaG9vc2UgYSBSZXBvc2l0b3J5IG9yIFB1YmxpY2F0aW9uIFBsYXRmb3JtIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nob29zZSUyMGElMjBSZXBvc2l0b3J5JTIwb3IlMjBQdWJsaWNhdGlvbiUyMFBsYXRmb3JtLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlcG9zaXRvcnkiLCJwdWJsaWNhdGlvbiBwbGF0Zm9ybSIsImRhdGEgcmVwb3NpdG9yeSIsImFyY2hpdmUiLCJ0cnVzdGVkIHJlcG9zaXRvcnkiLCJjb3JldHJ1c3RzZWFsIiwiaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IiwicmVzZWFyY2ggcmVwb3NpdG9yeSIsInB1YmxpY2F0aW9uIHZlbnVlIiwicmVwb3NpdG9yeSBzZWxlY3Rpb24iLCJyZXBvc2l0b3JpdW0iLCJwdWJsaWthdGlvbnNwbGF0dGZvcm0iLCJhcmNoaXYiXX0seyJ0aXRsZSI6Ik1ha2UgT3V0cHV0cyBGaW5kYWJsZSAmIENpdGFibGUiLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFrZSUyME91dHB1dHMlMjBGaW5kYWJsZSUyMCUyNiUyMENpdGFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZmluZGFiaWxpdHkiLCJjaXRhdGlvbiIsInBlcnNpc3RlbnQgaWRlbnRpZmllcnMiLCJwaWQiLCJkb2kiLCJvcmNpZCIsInJvciIsIm1ldGFkYXRhIiwidmVyc2lvbmluZyIsImRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiLCJkb2kgbnVtYmVyIiwicGVyc2lzdGVudCBpZGVudGlmaWVyIiwicGVyc2lzdGVudCBpZCIsImRhdGEgY2l0YXRpb24iLCJjaXRlIGRhdGEiLCJjaXRlIGRhdGFzZXQiLCJjaXRhdGlvbiBtZXRhZGF0YSIsInppdGllcmVuIiwieml0aWVyYmFya2VpdCIsImF1ZmZpbmRiYXJrZWl0Il19LHsidGl0bGUiOiJEaXNzZW1pbmF0ZSAmIFByZXNlbnQgWW91ciBSZXNlYXJjaCIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9EaXNzZW1pbmF0ZSUyMCUyNiUyMFByZXNlbnQlMjBZb3VyJTIwUmVzZWFyY2gvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZGlzc2VtaW5hdGlvbiIsInZpc2liaWxpdHkiLCJwcmVzZW50YXRpb24iLCJhdWRpZW5jZXMiLCJzY2llbmNlIGNvbW11bmljYXRpb24iLCJleGhpYml0aW9uIiwicHJvamVjdCB3ZWJzaXRlIiwicmVzZWFyY2ggY29tbXVuaWNhdGlvbiIsImNvbW11bmljYXRpb24iLCJwdWJsaWMgZW5nYWdlbWVudCIsImF1c3N0ZWxsdW5nIiwidmVybWl0dGx1bmciXX0seyJ0aXRsZSI6IlByZXNlcnZlIERhdGEgJiBBcnRpc3RpYyBPdXRwdXRzIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL1ByZXNlcnZlJTIwRGF0YSUyMCUyNiUyMEFydGlzdGljJTIwT3V0cHV0cy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcmVzZXJ2YXRpb24iLCJsb25nLXRlcm0gcHJlc2VydmF0aW9uIiwiYXJjaGl2aW5nIiwibWFzdGVyIGZpbGVzIiwiZmlsZSBmb3JtYXRzIiwidGVjaG5pY2FsIGRlcGVuZGVuY2llcyIsImVtdWxhdGlvbiIsImFydGlzdGljIG91dHB1dHMiLCJkaWdpdGFsIHByZXNlcnZhdGlvbiIsImxvbmcgdGVybSBhcmNoaXZlIiwicHJlc2VydmF0aW9uIG1hc3RlciIsImZvcm1hdCBtaWdyYXRpb24iLCJzb2Z0d2FyZSBwcmVzZXJ2YXRpb24iLCJsYW5nemVpdGFyY2hpdmllcnVuZyIsImFyY2hpdmllcnVuZyIsImVyaGFsdHVuZyJdfSx7InRpdGxlIjoiQ2xvc2UgJiBIYW5kIE92ZXIgWW91ciBQcm9qZWN0IiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nsb3NlJTIwJTI2JTIwSGFuZCUyME92ZXIlMjBZb3VyJTIwUHJvamVjdC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcm9qZWN0IGNsb3N1cmUiLCJoYW5kb3ZlciIsImFyY2hpdmUgZGVwb3NpdCIsImRlbGV0aW9uIiwiZmluYWwgZG9jdW1lbnRhdGlvbiIsInBvc3QtcHJvamVjdCByZXNwb25zaWJpbGl0eSIsInJldGVudGlvbiIsInByb2plY3QgZW5kIiwicHJvamVjdCBjb21wbGV0aW9uIiwiZmluYWwgaGFuZG92ZXIiLCJwcm9qZWN0IGFyY2hpdmUiLCJwcm9qZWt0YWJzY2hsdXNzIiwiw7xiZXJnYWJlIiwibMO2c2NodW5nIl19XQ==";
Veronika Kocher 35.1 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 });
Veronika Kocher 36.1 78
Veronika Kocher 35.1 79 pageIndex = JSON.parse(
80 new TextDecoder("utf-8").decode(bytes)
81 );
82 } catch (error) {
Veronika Kocher 36.1 83 console.error("Art & Research search index could not be loaded.", error);
Veronika Kocher 35.1 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;
Veronika Kocher 36.1 112
Veronika Kocher 35.1 113 if (title.indexOf(query) === 0) score += 300;
114 if (terms.some(function (term) {
115 return term.indexOf(query) === 0;
116 })) score += 260;
Veronika Kocher 36.1 117
Veronika Kocher 35.1 118 if (title.indexOf(query) !== -1) score += 180;
119 if (terms.some(function (term) {
120 return term.indexOf(query) !== -1;
121 })) score += 160;
Veronika Kocher 36.1 122
Veronika Kocher 35.1 123 if (phase.indexOf(query) !== -1) score += 40;
124
125 tokens.forEach(function (token) {
126 if (title.indexOf(token) !== -1) score += 35;
Veronika Kocher 36.1 127
Veronika Kocher 35.1 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;
Veronika Kocher 36.1 194
Veronika Kocher 35.1 195 link.setAttribute(
196 "aria-selected",
197 active ? "true" : "false"
198 );
Veronika Kocher 36.1 199
Veronika Kocher 35.1 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;">' +
Veronika Kocher 36.1 223 'No direct topic match. Press Search for XWiki full-text results.' +
Veronika Kocher 35.1 224 '</div>';
Veronika Kocher 36.1 225
Veronika Kocher 35.1 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);
Veronika Kocher 36.1 233
Veronika Kocher 35.1 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"' +
Veronika Kocher 36.1 247 ' data-index="' + index + '"' +
Veronika Kocher 35.1 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>' +
Veronika Kocher 39.1 252 '<span style="display:block;margin-top:2px;color:#6a655e;font-size:13px;">' +
Veronika Kocher 35.1 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) {
Veronika Kocher 36.1 273 if (resultsBox.hidden || !currentResults.length) return;
Veronika Kocher 35.1 274
275 if (event.key === "ArrowDown") {
276 event.preventDefault();
277 setActive(activeIndex + 1);
278 } else if (event.key === "ArrowUp") {
279 event.preventDefault();
Veronika Kocher 36.1 280
Veronika Kocher 35.1 281 setActive(
282 activeIndex <= 0
283 ? currentResults.length - 1
284 : activeIndex - 1
285 );
Veronika Kocher 36.1 286 } else if (event.key === "Enter" && activeIndex >= 0) {
Veronika Kocher 35.1 287 event.preventDefault();
Veronika Kocher 36.1 288 window.location.href = currentResults[activeIndex].url;
Veronika Kocher 35.1 289 } else if (event.key === "Escape") {
290 resultsBox.hidden = true;
Veronika Kocher 36.1 291 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 292 }
293 });
294
295 form.addEventListener("submit", function (event) {
296 currentResults = search(input.value);
297
298 if (currentResults.length) {
299 event.preventDefault();
Veronika Kocher 36.1 300 window.location.href = currentResults[0].url;
Veronika Kocher 35.1 301 }
302 });
303
304 document.addEventListener("click", function (event) {
305 if (!form.contains(event.target)) {
306 resultsBox.hidden = true;
Veronika Kocher 36.1 307 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 308 }
309 });
Veronika Kocher 36.1 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 }
Veronika Kocher 35.1 335 })();
336 </script>
Veronika Kocher 39.20 337 </section>
Veronika Kocher 35.1 338 {{/html}}
Veronika Kocher 39.15 339
Veronika Kocher 39.1 340 (% style="margin:10px 0 16px 0;color:#6a655e;font-size:13px;" %)
Veronika Kocher 37.1 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
Veronika Kocher 39.13 345 {{container layoutStyle="columns"}}
Veronika Kocher 14.1 346
Veronika Kocher 18.1 347 (((
Veronika Kocher 39.1 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;" %)
Veronika Kocher 18.1 349 (((
Veronika Kocher 39.1 350 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 351 (((
Veronika Kocher 27.1 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%);"]]
Veronika Kocher 18.1 353 )))
Veronika Kocher 17.1 354
Veronika Kocher 37.1 355 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 356 (((
357 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 42.2 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;"]]
Veronika Kocher 17.1 359
Veronika Kocher 19.1 360 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 18.1 361 Prepare your project before the main work begins.
Veronika Kocher 14.1 362
Veronika Kocher 39.1 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;" %)
Veronika Kocher 19.1 364 START HERE
365
Veronika Kocher 39.1 366 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 367 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 369 )))
Veronika Kocher 14.1 370
Veronika Kocher 39.1 371 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 372 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 374 )))
Veronika Kocher 14.3 375
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 377 PLAN & ORGANISE
Veronika Kocher 19.1 378
Veronika Kocher 39.1 379 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 380 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 382 )))
Veronika Kocher 17.1 383
Veronika Kocher 39.1 384 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 385 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 387 )))
Veronika Kocher 17.1 388
Veronika Kocher 39.1 389 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 390 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 392 )))
Veronika Kocher 6.4 393
Veronika Kocher 39.1 394 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 395 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 397 )))
Veronika Kocher 19.1 398
Veronika Kocher 39.1 399 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 400 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 28.1 402 )))
403
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 405 PROTECT & CLARIFY
Veronika Kocher 19.1 406
Veronika Kocher 39.1 407 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 408 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 410 )))
Veronika Kocher 6.4 411
Veronika Kocher 39.1 412 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 413 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 19.1 415 )))
416
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 418 SET UP INFRASTRUCTURE
Veronika Kocher 19.1 419
Veronika Kocher 39.1 420 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 421 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 19.1 423 )))
424
Veronika Kocher 39.1 425 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 426 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 19.1 428 )))
429
Veronika Kocher 39.1 430 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 431 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 19.1 433 )))
434 )))
435
Veronika Kocher 41.2 436 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
Veronika Kocher 18.1 437 (((
Veronika Kocher 41.2 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"]]
Veronika Kocher 18.1 439 )))
440 )))
441 )))
Veronika Kocher 16.1 442
Veronika Kocher 18.1 443 (((
Veronika Kocher 39.1 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;" %)
Veronika Kocher 18.1 445 (((
Veronika Kocher 39.1 446 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 447 (((
Veronika Kocher 27.1 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%);"]]
Veronika Kocher 16.1 449 )))
450
Veronika Kocher 37.1 451 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 10.1 452 (((
Veronika Kocher 18.1 453 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 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;"]]
Veronika Kocher 16.1 455
Veronika Kocher 19.1 456 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 28.1 457 Organise, document and review your project while the work is ongoing.
Veronika Kocher 16.1 458
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 460 ORGANISE & DOCUMENT
Veronika Kocher 19.1 461
Veronika Kocher 39.1 462 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 463 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 465 )))
Veronika Kocher 17.1 466
Veronika Kocher 39.1 467 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 468 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 470 )))
Veronika Kocher 17.1 471
Veronika Kocher 39.1 472 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 473 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 475 )))
Veronika Kocher 16.1 476
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 478 STORE & CONTROL ACCESS
Veronika Kocher 19.1 479
Veronika Kocher 39.1 480 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 481 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 483 )))
Veronika Kocher 19.1 484
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 486 STANDARDISE & IDENTIFY
487
Veronika Kocher 39.1 488 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 489 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 491 )))
Veronika Kocher 16.1 492
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 494 REVIEW & ADAPT
495
Veronika Kocher 39.1 496 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 497 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 19.1 499 )))
500 )))
501
Veronika Kocher 41.2 502 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
Veronika Kocher 18.1 503 (((
Veronika Kocher 41.2 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"]]
Veronika Kocher 16.1 505 )))
Veronika Kocher 18.1 506 )))
507 )))
Veronika Kocher 16.1 508
Veronika Kocher 11.2 509 (((
Veronika Kocher 39.1 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;" %)
Veronika Kocher 18.1 511 (((
Veronika Kocher 39.1 512 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 513 (((
Veronika Kocher 27.1 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%);"]]
Veronika Kocher 18.1 515 )))
Veronika Kocher 16.1 516
Veronika Kocher 37.1 517 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 518 (((
519 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 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;"]]
Veronika Kocher 16.1 521
Veronika Kocher 43.1 522 (% class="arsn-phase-subtitle" style="color:#666;background:transparent;margin:2px 0 16px 0;padding:0;" %)
Veronika Kocher 28.1 523 Decide how outputs should be shared, published, made findable and preserved.
Veronika Kocher 16.1 524
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 526 DECIDE
Veronika Kocher 19.1 527
Veronika Kocher 39.1 528 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 529 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 531 )))
Veronika Kocher 16.1 532
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 534 OPEN, REUSE & MAKE FINDABLE
535
Veronika Kocher 39.1 536 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 537 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 18.1 539 )))
Veronika Kocher 16.1 540
Veronika Kocher 39.1 541 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 542 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 28.1 544 )))
545
Veronika Kocher 39.1 546 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 547 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 28.1 549 )))
550
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 552 PUBLISH & PRESENT
Veronika Kocher 19.1 553
Veronika Kocher 39.1 554 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 555 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 16.1 557 )))
558
Veronika Kocher 39.1 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;" %)
Veronika Kocher 28.1 560 REPOSITORY, PRESERVE & HAND OVER
561
Veronika Kocher 39.1 562 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 13.1 563 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 16.1 565 )))
Veronika Kocher 8.3 566
Veronika Kocher 39.1 567 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 568 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 28.1 570 )))
Veronika Kocher 19.1 571
Veronika Kocher 39.1 572 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 573 (((
Veronika Kocher 37.1 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;"]]
Veronika Kocher 9.1 575 )))
Veronika Kocher 18.1 576 )))
Veronika Kocher 16.1 577
Veronika Kocher 41.2 578 (% class="arsn-phase-cta-wrap" style="padding:0 16px 16px 16px;" %)
Veronika Kocher 16.1 579 (((
Veronika Kocher 41.2 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"]]
Veronika Kocher 10.1 581 )))
Veronika Kocher 18.1 582 )))
583 )))
Veronika Kocher 17.1 584
Veronika Kocher 16.1 585 {{/container}}
Veronika Kocher 8.3 586
Veronika Kocher 31.1 587 (% style="margin-top:30px;" %)
Veronika Kocher 18.1 588 (((
Veronika Kocher 41.4 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}}
Veronika Kocher 41.3 601
Veronika Kocher 31.1 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"}}
Veronika Kocher 39.12 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}}
Veronika Kocher 31.1 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"}}
Veronika Kocher 39.12 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}}
Veronika Kocher 31.1 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"}}
Veronika Kocher 39.12 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}}
Veronika Kocher 31.1 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 (((
Veronika Kocher 43.2 640 == Need help deciding where to start? ==
Veronika Kocher 31.1 641
Veronika Kocher 43.2 642 {{info title="Where to start"}}
Veronika Kocher 39.20 643 For **project development, funding, proposals and coordination of funded art and research projects**, **Support Kunst und Forschung** is a good place to start.
Veronika Kocher 31.1 644
Veronika Kocher 39.20 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.
Veronika Kocher 31.1 646 {{/info}}
647 )))
648
Veronika Kocher 42.2 649 {{html clean="false"}}<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
Veronika Kocher 39.23 650
Veronika Kocher 39.24 651 <style data-sn-service-navigator-master="1">
652 /* =========================================================
Veronika Kocher 43.1 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 /* =========================================================
Veronika Kocher 39.24 669 MASTER TYPOGRAPHY
670 ========================================================= */
Veronika Kocher 39.23 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
Veronika Kocher 39.24 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{
Veronika Kocher 39.23 720 box-sizing:border-box!important;
Veronika Kocher 39.24 721 border-left:4px solid #21b6d7!important;
722 border-radius:8px;
Veronika Kocher 39.23 723 text-align:left!important;
724 word-spacing:normal!important;
725 }
726
Veronika Kocher 39.24 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,
Veronika Kocher 39.23 734 #xwikicontent .errormessage{
Veronika Kocher 39.24 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;
Veronika Kocher 39.23 740 }
741
Veronika Kocher 39.24 742 [data-sn-master-equal-height],
743 [data-sn-master-first-row]{
Veronika Kocher 39.22 744 box-sizing:border-box;
Veronika Kocher 39.21 745 }
Veronika Kocher 39.25 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 }
Veronika Kocher 39.21 778 </style>
Veronika Kocher 39.23 779
Veronika Kocher 39.24 780 <script data-sn-service-navigator-master="1">
Veronika Kocher 39.21 781 (function(){
782 "use strict";
783
Veronika Kocher 39.24 784 var PAGE_KIND="overview";
785 var PLACEHOLDER=false;
786 var PLACEHOLDER_LABEL="COMING SOON";
787
Veronika Kocher 39.21 788 var MOBILE_MAX=767;
Veronika Kocher 39.22 789 var ROW_TOLERANCE=6;
Veronika Kocher 39.23 790 var RESIZE_DEBOUNCE=220;
Veronika Kocher 39.21 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
Veronika Kocher 39.24 800 var managedHeight=new Set();
801 var managedMargin=new Set();
802 var originalHeight=new WeakMap();
803 var originalMargin=new WeakMap();
Veronika Kocher 39.23 804
805 var resizeTimer=0;
Veronika Kocher 39.24 806 var running=false;
Veronika Kocher 39.23 807
Veronika Kocher 39.24 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 ]
Veronika Kocher 39.22 869 }
Veronika Kocher 39.24 870 ];
Veronika Kocher 39.22 871
Veronika Kocher 39.24 872 function num(value){
873 var n=parseFloat(value);
874 return Number.isFinite(n)?n:0;
Veronika Kocher 39.21 875 }
876
Veronika Kocher 39.24 877 function norm(value){
878 return String(value||"")
Veronika Kocher 39.23 879 .replace(/\s+/g," ")
880 .trim()
881 .toUpperCase();
882 }
883
Veronika Kocher 39.24 884 function visible(el){
885 if(!el||el.nodeType!==1)return false;
Veronika Kocher 39.21 886
Veronika Kocher 39.24 887 var style=getComputedStyle(el);
888 var rect=el.getBoundingClientRect();
Veronika Kocher 39.23 889
890 return (
Veronika Kocher 39.24 891 style.display!=="none"&&
892 style.visibility!=="hidden"&&
893 rect.width>20&&
894 rect.height>4
Veronika Kocher 39.23 895 );
Veronika Kocher 39.21 896 }
897
Veronika Kocher 39.24 898 function saveStyle(el,map,property){
Veronika Kocher 39.22 899 if(map.has(el))return;
900
901 map.set(el,{
Veronika Kocher 39.24 902 value:el.style.getPropertyValue(property),
903 priority:el.style.getPropertyPriority(property)
Veronika Kocher 39.22 904 });
905 }
906
Veronika Kocher 39.24 907 function restoreStyle(el,map,property){
Veronika Kocher 39.22 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{
Veronika Kocher 39.24 917 el.style.removeProperty(property);
Veronika Kocher 39.22 918 }
919 }
920
Veronika Kocher 39.23 921 function resetRuntime(){
Veronika Kocher 39.24 922 managedHeight.forEach(function(el){
923 restoreStyle(
Veronika Kocher 39.22 924 el,
Veronika Kocher 39.24 925 originalHeight,
Veronika Kocher 39.22 926 "min-height"
927 );
928 el.removeAttribute(
Veronika Kocher 39.24 929 "data-sn-master-equal-height"
Veronika Kocher 39.22 930 );
931 });
932
Veronika Kocher 39.24 933 managedMargin.forEach(function(el){
934 restoreStyle(
Veronika Kocher 39.22 935 el,
Veronika Kocher 39.24 936 originalMargin,
Veronika Kocher 39.22 937 "margin-top"
938 );
939 el.removeAttribute(
Veronika Kocher 39.24 940 "data-sn-master-first-row"
Veronika Kocher 39.22 941 );
942 });
943
Veronika Kocher 39.24 944 managedHeight.clear();
945 managedMargin.clear();
946 }
Veronika Kocher 39.23 947
Veronika Kocher 39.24 948 function themeFor(text){
949 var value=norm(text);
Veronika Kocher 39.23 950
Veronika Kocher 39.24 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
Veronika Kocher 43.1 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){
Veronika Kocher 39.24 959 return THEMES[i];
960 }
961 }
962 }
963
964 return null;
Veronika Kocher 39.22 965 }
966
Veronika Kocher 39.24 967 /* =======================================================
Veronika Kocher 39.25 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 /* =======================================================
Veronika Kocher 39.24 1189 PLACEHOLDER BADGE
1190 ======================================================= */
Veronika Kocher 39.23 1191
Veronika Kocher 39.24 1192 function applyPlaceholderBadge(){
1193 if(!PLACEHOLDER)return;
Veronika Kocher 39.23 1194
1195 if(
Veronika Kocher 39.24 1196 document.querySelector(
1197 ".sn-coming-soon-badge"
1198 )
Veronika Kocher 39.23 1199 ){
Veronika Kocher 39.24 1200 return;
Veronika Kocher 39.23 1201 }
1202
Veronika Kocher 39.24 1203 var title=
1204 document.querySelector(
1205 "#document-title"
1206 )||
1207 document.querySelector(
1208 "h1"
1209 );
Veronika Kocher 39.23 1210
Veronika Kocher 39.24 1211 if(!title)return;
Veronika Kocher 39.23 1212
Veronika Kocher 39.24 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
Veronika Kocher 39.23 1227 );
1228
Veronika Kocher 39.24 1229 title.appendChild(
1230 badge
1231 );
1232 }
Veronika Kocher 39.23 1233
Veronika Kocher 39.24 1234 /* =======================================================
1235 DETAIL PAGE OWN-ACCENT PROPAGATION
1236 ======================================================= */
Veronika Kocher 39.23 1237
Veronika Kocher 39.24 1238 function parseRGB(value){
1239 var match=String(value||"").match(
1240 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
Veronika Kocher 39.23 1241 );
Veronika Kocher 39.24 1242
1243 if(!match)return null;
1244
1245 return [
1246 Number(match[1]),
1247 Number(match[2]),
1248 Number(match[3])
1249 ];
Veronika Kocher 39.23 1250 }
1251
Veronika Kocher 39.24 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 }
Veronika Kocher 39.21 1259
Veronika Kocher 39.24 1260 function paletteMatch(cssColor){
1261 var rgb=parseRGB(cssColor);
Veronika Kocher 39.22 1262
Veronika Kocher 39.24 1263 if(!rgb)return null;
Veronika Kocher 39.22 1264
Veronika Kocher 39.24 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 ];
Veronika Kocher 39.21 1271
Veronika Kocher 39.22 1272 var best=null;
Veronika Kocher 39.24 1273 var bestDistance=Infinity;
Veronika Kocher 39.21 1274
Veronika Kocher 39.24 1275 palette.forEach(function(item){
1276 var d=distance(rgb,item.rgb);
Veronika Kocher 39.21 1277
Veronika Kocher 39.24 1278 if(d<bestDistance){
1279 best=item;
1280 bestDistance=d;
1281 }
1282 });
Veronika Kocher 39.22 1283
Veronika Kocher 39.24 1284 return bestDistance<=30
1285 ?best
1286 :null;
1287 }
Veronika Kocher 39.21 1288
Veronika Kocher 39.24 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
Veronika Kocher 39.22 1302 if(
Veronika Kocher 39.24 1303 num(style.borderTopWidth)>=2
Veronika Kocher 39.22 1304 ){
Veronika Kocher 39.24 1305 var match=
1306 paletteMatch(
1307 style.borderTopColor
Veronika Kocher 39.22 1308 );
1309
Veronika Kocher 39.24 1310 if(match){
1311 el.style.setProperty(
1312 "border-left",
1313 "4px solid "+match.hex,
1314 "important"
Veronika Kocher 39.22 1315 );
Veronika Kocher 39.21 1316 }
1317 }
Veronika Kocher 39.24 1318 });
Veronika Kocher 39.21 1319
Veronika Kocher 39.24 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;
Veronika Kocher 39.21 1328
Veronika Kocher 39.24 1329 el.style.setProperty(
1330 "border-left",
1331 "4px solid #e94b13",
1332 "important"
1333 );
1334 });
Veronika Kocher 39.21 1335
Veronika Kocher 39.24 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;
Veronika Kocher 39.22 1343
Veronika Kocher 39.24 1344 el.style.setProperty(
1345 "border-left",
1346 "4px solid #21b6d7",
1347 "important"
1348 );
1349 });
1350 }
Veronika Kocher 39.22 1351
Veronika Kocher 39.24 1352 /* =======================================================
1353 OVERVIEW SEMANTIC THEME PALETTE
1354 ======================================================= */
Veronika Kocher 39.22 1355
Veronika Kocher 39.24 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;
Veronika Kocher 39.22 1364
Veronika Kocher 39.24 1365 return !Array.from(
1366 el.children||[]
1367 ).some(function(child){
1368 return !!themeFor(
1369 child.textContent
1370 );
Veronika Kocher 39.22 1371 });
Veronika Kocher 39.24 1372 });
Veronika Kocher 39.21 1373 }
1374
Veronika Kocher 39.24 1375 function findOverviewCard(header){
1376 var node=header.parentElement;
1377 var candidates=[];
Veronika Kocher 39.22 1378
Veronika Kocher 39.24 1379 while(node&&node!==root){
1380 var rect=node.getBoundingClientRect();
1381 var style=getComputedStyle(node);
Veronika Kocher 39.22 1382
Veronika Kocher 39.24 1383 var border=
1384 num(style.borderTopWidth)+
1385 num(style.borderRightWidth)+
1386 num(style.borderBottomWidth)+
1387 num(style.borderLeftWidth);
Veronika Kocher 39.22 1388
Veronika Kocher 39.24 1389 if(
1390 rect.width>=220&&
1391 rect.width<=800&&
1392 rect.height>=120&&
1393 border>=1
1394 ){
1395 candidates.push(node);
1396 }
Veronika Kocher 39.22 1397
Veronika Kocher 39.24 1398 node=node.parentElement;
1399 }
Veronika Kocher 39.22 1400
Veronika Kocher 39.24 1401 if(!candidates.length)return null;
Veronika Kocher 39.22 1402
Veronika Kocher 39.24 1403 candidates.sort(function(a,b){
1404 return (
1405 b.getBoundingClientRect().height-
1406 a.getBoundingClientRect().height
Veronika Kocher 39.23 1407 );
Veronika Kocher 39.24 1408 });
Veronika Kocher 39.22 1409
Veronika Kocher 39.24 1410 return candidates[0];
Veronika Kocher 39.22 1411 }
1412
Veronika Kocher 39.24 1413 function rowCandidates(link,card){
1414 var result=[];
Veronika Kocher 39.23 1415 var cardRect=
1416 card.getBoundingClientRect();
Veronika Kocher 39.22 1417
Veronika Kocher 39.24 1418 var node=link;
Veronika Kocher 39.22 1419
Veronika Kocher 39.24 1420 while(node&&node!==card){
1421 if(visible(node)){
1422 var rect=
1423 node.getBoundingClientRect();
Veronika Kocher 39.22 1424
Veronika Kocher 39.24 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 }
Veronika Kocher 39.22 1435
Veronika Kocher 39.24 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){
Veronika Kocher 39.23 1452 return (
Veronika Kocher 39.24 1453 num(
1454 getComputedStyle(el)
1455 .borderLeftWidth
1456 )>=1
Veronika Kocher 39.23 1457 );
1458 });
Veronika Kocher 39.22 1459
Veronika Kocher 39.24 1460 var pool=
1461 bordered.length
1462 ?bordered
1463 :candidates;
Veronika Kocher 39.22 1464
Veronika Kocher 39.24 1465 pool.sort(function(a,b){
1466 var ar=
1467 a.getBoundingClientRect();
Veronika Kocher 39.22 1468
Veronika Kocher 39.24 1469 var br=
1470 b.getBoundingClientRect();
Veronika Kocher 39.22 1471
Veronika Kocher 39.24 1472 return (
1473 ar.left-br.left||
1474 br.width-ar.width
1475 );
1476 });
Veronika Kocher 39.22 1477
Veronika Kocher 39.24 1478 return pool[0]||link;
1479 }
Veronika Kocher 39.22 1480
Veronika Kocher 39.24 1481 function applyOverviewPalette(){
1482 if(PAGE_KIND!=="overview"){
1483 return [];
Veronika Kocher 39.23 1484 }
Veronika Kocher 39.22 1485
Veronika Kocher 39.24 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 };
Veronika Kocher 39.23 1500 })
Veronika Kocher 39.24 1501 .filter(function(row){
1502 return !!row.card;
1503 });
Veronika Kocher 39.22 1504
Veronika Kocher 39.24 1505 var unique=[];
1506 var seenHeaders=new Set();
Veronika Kocher 39.22 1507
Veronika Kocher 39.24 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 );
Veronika Kocher 39.22 1523
Veronika Kocher 39.24 1524 if(!seenHeaders.has(key)){
1525 seenHeaders.add(key);
1526 unique.push(row);
1527 }
1528 });
Veronika Kocher 39.22 1529
Veronika Kocher 39.24 1530 unique.forEach(function(row){
1531 var headerRect=
1532 row.el
1533 .getBoundingClientRect();
Veronika Kocher 39.22 1534
Veronika Kocher 39.24 1535 row.el.style.setProperty(
1536 "background",
1537 row.theme.bg,
1538 "important"
Veronika Kocher 39.23 1539 );
1540
Veronika Kocher 39.24 1541 row.el.style.setProperty(
1542 "color",
1543 row.theme.text,
1544 "important"
Veronika Kocher 39.23 1545 );
1546
Veronika Kocher 39.24 1547 row.el.style.setProperty(
1548 "text-align",
1549 "left",
1550 "important"
Veronika Kocher 39.23 1551 );
Veronika Kocher 39.22 1552
Veronika Kocher 39.24 1553 row.el.style.setProperty(
1554 "word-spacing",
1555 "normal",
1556 "important"
1557 );
Veronika Kocher 39.23 1558
Veronika Kocher 39.24 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 });
Veronika Kocher 39.23 1580
Veronika Kocher 39.24 1581 var stopTop=
1582 later.length
1583 ?later[0].el
1584 .getBoundingClientRect()
1585 .top
1586 :Infinity;
Veronika Kocher 39.23 1587
1588 Array.from(
Veronika Kocher 39.24 1589 row.card.querySelectorAll("a")
1590 ).forEach(function(link){
Veronika Kocher 41.2 1591 if(
1592 link.classList &&
1593 link.classList.contains(
1594 "arsn-phase-cta"
1595 )
1596 ){
1597 return;
1598 }
1599
Veronika Kocher 39.24 1600 if(!visible(link))return;
Veronika Kocher 39.23 1601
Veronika Kocher 39.24 1602 var rect=
1603 link.getBoundingClientRect();
Veronika Kocher 39.23 1604
Veronika Kocher 39.24 1605 if(
1606 rect.top<=
1607 headerRect.bottom-2||
1608 rect.top>=
1609 stopTop-2
1610 ){
1611 return;
1612 }
Veronika Kocher 39.23 1613
Veronika Kocher 39.24 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"
Veronika Kocher 39.23 1639 );
Veronika Kocher 39.24 1640
1641 target.style.setProperty(
1642 "box-sizing",
1643 "border-box",
1644 "important"
Veronika Kocher 39.23 1645 );
Veronika Kocher 39.22 1646 });
Veronika Kocher 39.24 1647 });
Veronika Kocher 39.22 1648
Veronika Kocher 39.24 1649 return unique;
Veronika Kocher 39.23 1650 }
Veronika Kocher 39.22 1651
Veronika Kocher 39.24 1652 /* =======================================================
1653 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1654 ======================================================= */
Veronika Kocher 39.23 1655
Veronika Kocher 39.24 1656 function alignOverviewCards(headers){
1657 if(
1658 PAGE_KIND!=="overview"||
1659 window.innerWidth<=MOBILE_MAX
1660 ){
1661 return;
1662 }
Veronika Kocher 39.23 1663
Veronika Kocher 39.24 1664 var cards=[];
1665 var seen=new Set();
Veronika Kocher 39.23 1666
Veronika Kocher 39.24 1667 headers.forEach(function(row){
1668 if(!seen.has(row.card)){
1669 seen.add(row.card);
1670 cards.push(row.card);
1671 }
1672 });
Veronika Kocher 39.23 1673
Veronika Kocher 39.24 1674 if(cards.length<2){
1675 return;
1676 }
Veronika Kocher 39.23 1677
Veronika Kocher 39.24 1678 // Group cards by actual top position.
1679 var groups=[];
Veronika Kocher 39.23 1680
Veronika Kocher 39.24 1681 cards.forEach(function(card){
1682 var top=
1683 card.getBoundingClientRect().top;
Veronika Kocher 39.23 1684
Veronika Kocher 39.24 1685 var group=null;
Veronika Kocher 39.23 1686
Veronika Kocher 39.24 1687 for(var i=0;i<groups.length;i++){
Veronika Kocher 39.23 1688 if(
Veronika Kocher 39.24 1689 Math.abs(
1690 groups[i].top-top
1691 )<=ROW_TOLERANCE
Veronika Kocher 39.23 1692 ){
Veronika Kocher 39.24 1693 group=groups[i];
1694 break;
Veronika Kocher 39.23 1695 }
Veronika Kocher 39.24 1696 }
Veronika Kocher 39.23 1697
Veronika Kocher 39.24 1698 if(!group){
1699 group={
1700 top:top,
1701 cards:[]
1702 };
1703 groups.push(group);
1704 }
Veronika Kocher 39.23 1705
Veronika Kocher 39.24 1706 group.cards.push(card);
1707 });
Veronika Kocher 39.23 1708
Veronika Kocher 39.24 1709 groups.forEach(function(group){
1710 if(group.cards.length<2){
1711 return;
1712 }
Veronika Kocher 39.23 1713
Veronika Kocher 39.24 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 });
Veronika Kocher 39.23 1731
Veronika Kocher 39.24 1732 return candidates.length
1733 ?candidates[0]
1734 :null;
1735 });
Veronika Kocher 39.23 1736
Veronika Kocher 39.24 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 );
Veronika Kocher 39.21 1756
Veronika Kocher 39.24 1757 firstHeaders.forEach(function(row){
1758 var relativeTop=
1759 row.el
1760 .getBoundingClientRect()
1761 .top-
1762 row.card
1763 .getBoundingClientRect()
1764 .top;
Veronika Kocher 39.22 1765
Veronika Kocher 39.24 1766 var delta=
1767 targetTop-relativeTop;
Veronika Kocher 39.22 1768
Veronika Kocher 39.24 1769 if(delta>1){
1770 saveStyle(
1771 row.el,
1772 originalMargin,
1773 "margin-top"
1774 );
Veronika Kocher 39.23 1775
Veronika Kocher 39.24 1776 var current=
1777 num(
1778 getComputedStyle(
1779 row.el
1780 ).marginTop
1781 );
Veronika Kocher 39.22 1782
Veronika Kocher 39.24 1783 row.el.style.setProperty(
1784 "margin-top",
1785 (
1786 current+delta
1787 )+"px"
1788 );
Veronika Kocher 39.22 1789
Veronika Kocher 39.24 1790 row.el.setAttribute(
1791 "data-sn-master-first-row",
1792 "1"
1793 );
Veronika Kocher 39.22 1794
Veronika Kocher 39.24 1795 managedMargin.add(
1796 row.el
1797 );
1798 }
1799 });
1800 }
Veronika Kocher 39.22 1801
Veronika Kocher 39.24 1802 var maxHeight=0;
Veronika Kocher 39.22 1803
Veronika Kocher 39.24 1804 group.cards.forEach(function(card){
1805 maxHeight=
1806 Math.max(
1807 maxHeight,
1808 card
1809 .getBoundingClientRect()
1810 .height
1811 );
1812 });
Veronika Kocher 39.22 1813
Veronika Kocher 39.24 1814 maxHeight=
1815 Math.ceil(maxHeight);
Veronika Kocher 39.22 1816
Veronika Kocher 39.24 1817 group.cards.forEach(function(card){
1818 saveStyle(
1819 card,
1820 originalHeight,
1821 "min-height"
1822 );
Veronika Kocher 39.22 1823
Veronika Kocher 39.24 1824 card.style.setProperty(
1825 "min-height",
1826 maxHeight+"px"
Veronika Kocher 39.22 1827 );
1828
Veronika Kocher 39.24 1829 card.setAttribute(
1830 "data-sn-master-equal-height",
1831 "1"
1832 );
Veronika Kocher 39.22 1833
Veronika Kocher 39.24 1834 managedHeight.add(
1835 card
1836 );
1837 });
Veronika Kocher 39.22 1838 });
1839 }
1840
Veronika Kocher 39.24 1841 /* =======================================================
1842 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1843 ======================================================= */
Veronika Kocher 39.22 1844
Veronika Kocher 39.24 1845 function equaliseDetailGrids(){
Veronika Kocher 39.23 1846 if(
Veronika Kocher 39.24 1847 PAGE_KIND!=="detail"||
1848 window.innerWidth<=MOBILE_MAX
Veronika Kocher 39.23 1849 ){
Veronika Kocher 39.24 1850 return;
Veronika Kocher 39.23 1851 }
Veronika Kocher 39.22 1852
Veronika Kocher 39.24 1853 var selectors=[
1854 ".arsn-grid",
1855 ".arsn-grid-2",
1856 ".arsn-grid-3",
1857 ".dmp-grid",
1858 ".ido-grid",
1859 ".pp-grid"
1860 ];
Veronika Kocher 39.22 1861
Veronika Kocher 39.24 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);
Veronika Kocher 39.22 1870
Veronika Kocher 39.24 1871 if(children.length<2){
1872 return;
1873 }
Veronika Kocher 39.22 1874
Veronika Kocher 39.24 1875 var groups=[];
Veronika Kocher 39.22 1876
Veronika Kocher 39.24 1877 children.forEach(function(child){
1878 var top=
1879 child
1880 .getBoundingClientRect()
1881 .top;
Veronika Kocher 39.22 1882
Veronika Kocher 39.24 1883 var group=null;
Veronika Kocher 39.22 1884
Veronika Kocher 39.24 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 }
Veronika Kocher 39.22 1895
Veronika Kocher 39.24 1896 if(!group){
1897 group={
1898 top:top,
1899 items:[]
1900 };
1901 groups.push(group);
1902 }
Veronika Kocher 39.22 1903
Veronika Kocher 39.24 1904 group.items.push(child);
1905 });
Veronika Kocher 39.22 1906
Veronika Kocher 39.24 1907 groups.forEach(function(group){
1908 if(group.items.length<2){
1909 return;
1910 }
Veronika Kocher 39.21 1911
Veronika Kocher 39.24 1912 var maxHeight=0;
Veronika Kocher 39.23 1913
Veronika Kocher 39.24 1914 group.items.forEach(function(item){
1915 maxHeight=
1916 Math.max(
1917 maxHeight,
1918 item
1919 .getBoundingClientRect()
1920 .height
1921 );
1922 });
Veronika Kocher 39.23 1923
Veronika Kocher 39.24 1924 maxHeight=
1925 Math.ceil(maxHeight);
Veronika Kocher 39.21 1926
Veronika Kocher 39.24 1927 group.items.forEach(function(item){
1928 saveStyle(
1929 item,
1930 originalHeight,
1931 "min-height"
1932 );
Veronika Kocher 39.21 1933
Veronika Kocher 39.24 1934 item.style.setProperty(
1935 "min-height",
1936 maxHeight+"px"
1937 );
Veronika Kocher 39.22 1938
Veronika Kocher 39.24 1939 item.setAttribute(
1940 "data-sn-master-equal-height",
1941 "1"
1942 );
Veronika Kocher 39.21 1943
Veronika Kocher 39.24 1944 managedHeight.add(item);
1945 });
Veronika Kocher 39.21 1946 });
Veronika Kocher 39.24 1947 });
1948 });
1949 }
Veronika Kocher 39.21 1950
Veronika Kocher 39.24 1951 /* =======================================================
1952 RUN / RESPONSIVE SCHEDULING
1953 ======================================================= */
Veronika Kocher 39.21 1954
Veronika Kocher 39.24 1955 function run(){
1956 if(running)return;
Veronika Kocher 39.21 1957
Veronika Kocher 39.24 1958 running=true;
Veronika Kocher 39.23 1959
Veronika Kocher 39.24 1960 try{
1961 resetRuntime();
1962 applyPlaceholderBadge();
1963 propagateDetailAccents();
Veronika Kocher 39.23 1964
Veronika Kocher 39.24 1965 var headers=
1966 applyOverviewPalette();
Veronika Kocher 39.23 1967
Veronika Kocher 39.25 1968 makeThreeLineAreaLabels();
1969 makeFilledRedOrangeCTAsBorderless();
1970
Veronika Kocher 39.24 1971 if(
1972 window.innerWidth>
1973 MOBILE_MAX
1974 ){
1975 alignOverviewCards(
1976 headers
1977 );
Veronika Kocher 39.21 1978
Veronika Kocher 39.24 1979 equaliseDetailGrids();
1980 }
Veronika Kocher 39.23 1981 }finally{
Veronika Kocher 39.24 1982 running=false;
Veronika Kocher 39.23 1983 }
Veronika Kocher 39.21 1984 }
1985
Veronika Kocher 39.24 1986 function onResize(){
Veronika Kocher 39.23 1987 if(resizeTimer){
1988 clearTimeout(
1989 resizeTimer
1990 );
1991 }
Veronika Kocher 39.22 1992
Veronika Kocher 39.23 1993 resizeTimer=
1994 setTimeout(
1995 function(){
1996 resizeTimer=0;
Veronika Kocher 39.24 1997 run();
Veronika Kocher 39.23 1998 },
1999 RESIZE_DEBOUNCE
2000 );
Veronika Kocher 39.21 2001 }
2002
Veronika Kocher 39.24 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
Veronika Kocher 39.23 2025 var images=
2026 Array.from(
2027 root.querySelectorAll("img")
2028 );
Veronika Kocher 39.21 2029
Veronika Kocher 39.24 2030 await Promise.all(
Veronika Kocher 39.23 2031 images.map(function(img){
2032 if(img.complete){
2033 return Promise.resolve();
2034 }
Veronika Kocher 39.21 2035
Veronika Kocher 39.23 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
Veronika Kocher 39.24 2056 run();
Veronika Kocher 39.21 2057 }
2058
Veronika Kocher 39.24 2059 window.addEventListener(
Veronika Kocher 39.23 2060 "resize",
Veronika Kocher 39.24 2061 onResize,
Veronika Kocher 39.23 2062 {passive:true}
2063 );
2064
Veronika Kocher 39.24 2065 waitForReady();
Veronika Kocher 39.21 2066 })();
2067 </script>
Veronika Kocher 39.23 2068
Veronika Kocher 42.2 2069 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->{{/html}}{{html clean="false"}}<!-- ARSN_PHASE_CTA_MOBILE_EDGE_FIX_V3_START -->
Veronika Kocher 41.2 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>
Veronika Kocher 42.2 2134 <!-- ARSN_PHASE_CTA_MOBILE_EDGE_FIX_V3_END -->{{/html}}