Changes for page Material Collection

Last modified by Judith Steinfeld on 2025/06/03 11:13

From version 41.1
edited by Judith Steinfeld
on 2024/07/29 10:12
Change comment: There is no comment for this version
To version 56.1
edited by Judith Steinfeld
on 2024/11/06 09:43
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -5,77 +5,38 @@
5 5  
6 6  With our material collection we want to provide an overview of existing materials and contacts by outlining where to find what.
7 7  
8 -The collection of existing materials is complemented by our own materials which include for example videos and slides from various workshops and schools organized by the ErUM-Data-Hub in collaboration with DIG-UM with which we reached over 800 participants so far.
9 -{{/info}}
8 +The collection of existing materials thrives on being filled and is complemented by our own materials which include for example videos and slides from various workshops and schools organized by the ErUM-Data-Hub in collaboration with DIG-UM with which we reached over 800 participants so far.
10 10  
11 -Hint Copyright: Please not that the materials are from
12 12  
13 -{{success width="20%"}}
14 -{{displayIcon name="magnifier"/}}Filter Suchfunktion: Semantische Suche und vordefinierte Suchfilter zur Eingrenzung von Suchergebnissen
11 +If you want to be subscribed or unsubscribed from this list please contact [[judith.steinfeld@erumdatahub.de>>mailto:judith.steinfeld@erumdatahub.de]]
12 +{{/info}}
13 +
14 +{{success}}
15 +Our collection of materials covers many different topics. You can click on one or more tags to filter the list...
15 15  {{/success}}
16 16  
17 -
18 -Tabelle
19 -
20 -Title - topic (tags) - date - type (PDF, video, link to website) - kind (ttt, school, workshop...) - (author)
21 -
22 -
23 -
24 -
25 -Table: [[https:~~/~~/extensions.xwiki.org/xwiki/bin/view/Extension/Livetable%20Macro >>https://extensions.xwiki.org/xwiki/bin/view/Extension/Livetable%20Macro]]
26 -
27 -
28 -
29 -
30 -=== Basic Concepts ===
31 -
32 -----
33 -
34 -=== **Neural Network Building Blocks** ===
35 -
36 -* [[Introduction to Articifial Networks - Pt. >>https://indico.desy.de/event/40559/sessions/16119/attachments/88695/118961/nns-part1.pdf]] {{displayIcon name="page_white_acrobat"/}}
37 -* [[Introduction to Articifial Networks - Pt. >>https://indico.desy.de/event/40559/sessions/16119/attachments/88695/118961/nns-part1.pdf]] {{displayIcon name="page_white_acrobat"/}}
38 -** [[Tutorial>>https://github.com/machine-learning-tutorial/neural-networks/tree/main]] {{displayIcon name="application_view_list"/}}
39 -* [[Neural Network Building Blocks (1/2)>>https://indico.desy.de/event/37303/sessions/14381/attachments/80383/105122/DL%20School%20-%20Lecture%201,%20Part%201.pdf]] {{displayIcon name="page_white_acrobat"/}}
40 -* (((
41 -[[Neural Network Building Blocks (2/2)>>https://indico.desy.de/event/37303/sessions/14381/attachments/80383/105131/DL%20School%20-%20Lecture%201,%20Part%202.pdf]] {{displayIcon name="page_white_acrobat"/}}
42 -)))
43 -
44 -=== ===
45 -
46 -=== **Mastering Model Building** ===
47 -
48 -* [[Mastering Model Builing: Methods and tools (a crash course)>>https://indico.desy.de/event/40559/contributions/149592/attachments/88698/118990/blocks2.pdf]] {{displayIcon name="page_white_acrobat"/}}
49 -** [[Tutorials>>https://github.com/dkgithub/wiehl24]] {{displayIcon name="application_view_list"/}}
50 -* [[Mastering Model Building >>https://indico.desy.de/event/37303/sessions/14382/attachments/80384/105130/230228_mastering_model_building.pdf]]
51 -** [[Hands-On 1: Tenserflow-Playground>>http://playground.tensorflow.org/#activation=tanh&regularization=L2&batchSize=10&dataset=gauss&regDataset=reg-plane&learningRate=0.03&regularizationRate=0&noise=25&networkShape=8,8,8,8,8,8&seed=0.88798&showTestData=false&discretize=false&percTrainData=20&x=true&y=true&xTimesY=true&xSquared=true&ySquared=true&cosX=false&sinX=true&cosY=false&sinY=true&collectStats=false&problem=classification&initZero=false&hideText=false]] {{displayIcon name="application_view_list"/}}
52 -** [[Hands-On 2: Mass-Regression>>https://colab.research.google.com/drive/1UdiLP-MLTLlB8t4zE2qMwibt3BRbFawd?usp=sharing]] {{displayIcon name="application_view_list"/}}
53 -** [[Hands-On 3: Jet-flavour Classification>>https://colab.research.google.com/drive/13O8wxap5oxp1ovUTBjNc__tOwE7PojyC?usp=sharing]] {{displayIcon name="application_view_list"/}}
54 -
55 -=== ===
56 -
57 -=== **Convolutional Neural Networks** ===
58 -
59 -* [[Convolutional Neural Networks>>https://indico.desy.de/event/40559/sessions/16121/attachments/88729/119021/CNN_SKaes.pdf]] {{displayIcon name="page_white_acrobat"/}}
60 -** [[Exercises>>https://indico.desy.de/event/40559/sessions/16121/attachments/88729/119040/Wiehl_Exercises_CNN.pdf]] {{displayIcon name="page_white_acrobat"/}}
61 -** [[Exercises Solution>>https://indico.desy.de/event/40559/sessions/16121/attachments/88729/119131/Wiehl_Exercises_CNN_Solution.pdf]] {{displayIcon name="page_white_acrobat"/}}
62 -
63 -----
64 -
65 -=== ===
66 -
67 -=== Adcanced Concepts ===
68 -
69 -----
70 -
71 -=== **Autoencoder** ===
72 -
73 -* test
74 -
75 -=== **Transformers **(ausklappbar) ===
76 -
77 -* test
78 -
79 -=== **Normalizing Flows (ausklappbar)** ===
80 -
81 -* test
18 +{{velocity}}
19 +#set ($columnsProperties = {
20 + 'doc.location': {"displayName": "Title", "html": true},
21 + 'link': {"type": "hidden"},
22 + 'date': {"html": true},
23 + 'author': {},
24 + "tags": {"sortable": false, "filterable": false, "html": true, "headerClass": "tagsCol"},
25 + "_actions": {"actions": ["view", "edit"]}
26 +})
27 +#set ($options = {
28 + 'className': 'Materials.Code.MaterialsClass',
29 + 'translationPrefix': 'materials.livetable.',
30 + 'tagCloud': true,
31 + 'rowCount': 25,
32 + 'maxPages': 10,
33 + "extraParams" : "tags_className=XWiki.TagClass",
34 + 'selectedColumn': 'date',
35 + 'defaultOrder': 'desc'
36 +})
37 +#set ($columns = ['doc.location', 'link', "tags", "tags", 'date', 'author'])
38 +#if (!$isGuest)
39 + #set($discard = $columns.add("_actions"))
40 +#end
41 +#livetable('materials' $columns $columnsProperties $options)
42 +{{/velocity}}
XWiki.JavaScriptExtension[0]
Caching policy
... ... @@ -1,0 +1,1 @@
1 +default
Code
... ... @@ -1,0 +1,96 @@
1 +const tabName = "materials";
2 +const tagCols = [
3 + ["Type", "lecture", "exercise", "hands-on", "solution", "tutorial", "talk", "course", "video", "paper"],
4 + ["Tags", true],
5 +]
6 +
7 +document.observe('xwiki:livetable:loading', () => {
8 + const mats = document.getElementById(tabName);
9 +
10 + // coulmn data sources
11 + const conf = JSON.parse(mats.dataset.settings);
12 + tagCols.forEach(([name], i) => {
13 + const cn = `tags-${i}`;
14 + conf.columns.splice(conf.columns.indexOf("tags"), 1, cn);
15 + conf.columnDescriptors[cn] = {
16 + displayName: name,
17 + headerClass: "tagsCol",
18 + html: true,
19 + sortable: false,
20 + };
21 + });
22 + mats.dataset.settings = JSON.stringify(conf);
23 +
24 + // column headers
25 + mats.querySelectorAll(".xwiki-livetable-display-header .tagsCol").forEach(
26 + (v, i) => v.textContent = tagCols[i][0]
27 + );
28 +
29 + // handle clicks for tags
30 + document.getElementById(`${tabName}-display`).addEventListener("click", ev => {
31 + if (ev.button) return; // only left click
32 + if (ev.target.nodeName !== "SPAN") return;
33 + if (!ev.target.classList.contains("ltTag")) return;
34 + const tag = ev.target.textContent;
35 + ev.preventDefault();
36 + const lt = mats.__liveTable;
37 + const st = lt.tagCloud.selectedTags;
38 + if (tag in st) delete st[tag];
39 + else st[tag] = {};
40 + lt.tags = Object.keys(st);
41 + lt.clearCache();
42 + lt.showRows(1, lt.limit);
43 + })
44 +});
45 +
46 +document.observe(`xwiki:livetable:${tabName}:receivedEntries`, ({memo: {data}}) => {
47 + for (const row of data.rows) {
48 + const ol = new DOMParser().parseFromString(row.doc_location, "text/xml").documentElement;
49 + const li = ol.children;
50 +
51 + li[0].remove(); // remove "Event"
52 + for (let i = 1; i < li.length - 1; i++) // intermediate
53 + li[i].textContent = li[i].textContent; // remove link
54 +
55 + const a = li[li.length - 1].children[0];
56 + const b = a.ownerDocument.createElement("b");
57 + a.replaceWith(b);
58 + b.appendChild(a);
59 + a.textContent = row.doc_title;
60 +
61 + const u = new URL(row.link_value);
62 + let icon;
63 + if (u.hostname.includes("github")) icon = "github";
64 + if (u.hostname.includes("github.io")) icon = "book";
65 + if (u.hostname.includes("gitlab")) icon = "gitlab";
66 + if (u.hostname.includes("google")) icon = "google";
67 + if (u.hostname.includes("colab")) icon = "code";
68 + if (u.hostname.includes("youtube")) icon = "youtube-play";
69 + if (u.pathname.endsWith(".pdf")) icon = "file-pdf-o";
70 + if (u.pathname.endsWith(".pptx")) icon = "file-powerpoint-o";
71 + if (icon) {
72 + const s = a.ownerDocument.createElement("span");
73 + s.appendChild(a.ownerDocument.createElement("wbr"));
74 + s.setAttribute("class", `fa fa-${icon}`);
75 + s.setAttribute("style", "padding-right: .3em;");
76 + a.insertBefore(s, a.firstChild);
77 + }
78 + a.setAttribute("class", "wikiexternallink");
79 + a.setAttribute("href", u.href);
80 +
81 + row.doc_location = ol.outerHTML;
82 +
83 + // tags
84 + const tags = new Set(row.tags_value.slice(1, -1).split(", "));
85 + tagCols.forEach(([name, ...want], i) =>
86 + row[`tags-${i}`] = (
87 + want[0] === true
88 + ? Array.from(tags)
89 + : want.filter(tag => tags.delete(tag))
90 + ).sort().map(tag => `<span class="ltTag" style="cursor:pointer;white-space:nowrap;">${tag}</span>`).join(", ")
91 + );
92 + }
93 +});
94 +
95 +
96 +
Name
... ... @@ -1,0 +1,1 @@
1 +Live Table - Materials
Parse content
... ... @@ -1,0 +1,1 @@
1 +No
Use this extension
... ... @@ -1,0 +1,1 @@
1 +currentPage