{"id":29224,"date":"2023-11-07T09:30:00","date_gmt":"2023-11-07T08:30:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=29224"},"modified":"2023-11-07T14:43:12","modified_gmt":"2023-11-07T13:43:12","slug":"alfresco-use-alfresco-for-a-trivia-game-play-the-game","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/","title":{"rendered":"Alfresco &#8211; Use Alfresco for a Trivia Game &#8211; Play the game"},"content":{"rendered":"\n<p>In previous blogs (<a href=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-repository-skeleton\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> &amp; <a href=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-add-questions\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>), I talked about the Repository skeleton necessary and then about how to use REST-API to add questions and answers into Alfresco for the Trivia Game. In this third part, I will go through what would be needed to really play the game since that was the initial goal.<\/p>\n\n\n\n<p>This time again, the first thing to do would be to define the target endpoint and setup my credentials so that I can exchange with Alfresco. No changes on the authentication method, I will continue to use the Basic authentication and I will of course use the same parent folder, which represents the quiz I prepared earlier (reminder: multiple parent folders = multiple quiz):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n$ base_url=&quot;https:\/\/alf-trivia.dbi-services.com&quot;\n$ endpoint=&quot;${base_url}\/alfresco&quot;\n$ folder_id=&quot;e6395354-d38e-489b-b112-3549b521b04c&quot;\n$ username=&quot;admin&quot;\n$ read -s -p &quot;Please enter the password of the &#039;${username}&#039; user for &#039;${endpoint}&#039;: &quot; password\nPlease enter the password of the &#039;admin&#039; user for &#039;https:\/\/alf-trivia.dbi-services.com\/alfresco&#039;:\n$\n$ auth=$(echo -n ${username}:${password} | base64)\n$\n<\/pre><\/div>\n\n\n<p>To be able to play the game, I will need to retrieve all the questions with all their associated answers and to do that, I will need to loop on all the children of the parent folder. Therefore, the next step is to retrieve the list of all Child Node IDs (&#8220;<em>uuid<\/em>&#8220;) that are present in the folder, i.e., the unique identifier of each question. For that purpose, I&#8217;m using the GET node&#8217;s children REST-API (<a href=\"https:\/\/api-explorer.alfresco.com\/api-explorer\/#\/nodes\/listNodeChildren\" target=\"_blank\" rel=\"noreferrer noopener\">listNodeChildren<\/a>) that I used in the previous blog to retrieve the number of existing questions but this time, I will retrieve the list of IDs from it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,8,21,22,33,34,44,51]; title: ; notranslate\" title=\"\">\n$ response=$(curl -k -s -X GET &quot;${endpoint}\/api\/-default-\/public\/alfresco\/versions\/1\/nodes\/${folder_id}\/children&quot; \\\n&gt;   -H &quot;Authorization: Basic ${auth}&quot; \\\n&gt;   -H &quot;Accept: application\/json&quot;)\n$\n$ echo ${response} | jq\n{\n  &quot;list&quot;: {\n    &quot;pagination&quot;: {\n      &quot;count&quot;: 8,\n      &quot;hasMoreItems&quot;: false,\n      &quot;totalItems&quot;: 8,\n      &quot;skipCount&quot;: 0,\n      &quot;maxItems&quot;: 100\n    },\n    &quot;entries&quot;: &#x5B;\n      {\n        &quot;entry&quot;: {\n          &quot;createdAt&quot;: &quot;2023-01-18T10:42:14.957+0000&quot;,\n          &quot;isFolder&quot;: true,\n          ...\n          &quot;name&quot;: &quot;Q1&quot;,\n          &quot;id&quot;: &quot;d2afbdb6-2afb-4acc-85e7-61a800e96db3&quot;,\n          &quot;nodeType&quot;: &quot;cm:folder&quot;,\n          &quot;parentId&quot;: &quot;e6395354-d38e-489b-b112-3549b521b04c&quot;\n        }\n      },\n      ...\n      {\n        &quot;entry&quot;: {\n          &quot;createdAt&quot;: &quot;2023-11-03T09:38:45.786+0000&quot;,\n          &quot;isFolder&quot;: true,\n          ...\n          &quot;name&quot;: &quot;Q8&quot;,\n          &quot;id&quot;: &quot;0b147c71-70fd-498e-9bf6-d40a738699fa&quot;,\n          &quot;nodeType&quot;: &quot;cm:folder&quot;,\n          &quot;parentId&quot;: &quot;e6395354-d38e-489b-b112-3549b521b04c&quot;\n        }\n      }\n    ]\n  }\n}\n$\n$ echo ${response} | jq -r &quot;.list.entries&#x5B;].entry.id&quot;\nd2afbdb6-2afb-4acc-85e7-61a800e96db3\nc4655fb0-5eef-494c-8b1e-5f160ca53558\nd53bb919-ce60-42a7-a4db-5c8e3c5bfdac\nc4e9826a-a1f4-4bf7-9768-137205c01045\na45e1b98-5780-448e-b26d-a603f9b03a85\n4218c4b7-0be1-4948-9ae6-50e1575d1185\n46d78e31-c796-4839-bac8-e6d5a7ff5973\n0b147c71-70fd-498e-9bf6-d40a738699fa\n$\n<\/pre><\/div>\n\n\n<p>If I wanted to, I could just use the above single REST-API call to get the properties of all nodes (without retrieving their IDs first), by using &#8220;<em>\/nodes\/${folder_id}\/children<strong>?include=properties<\/strong><\/em>&#8221; instead of &#8220;<em>\/nodes\/${folder_id}\/children<\/em>&#8220;. This would automatically include all the properties of the nodes and therefore I would see the aspect&#8217;s properties in this single command, for all the questions:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [0,1,5]; title: ; notranslate\" title=\"\">\n$ response=$(curl -k -s -X GET &quot;${endpoint}\/api\/-default-\/public\/alfresco\/versions\/1\/nodes\/${folder_id}\/children?include=properties&quot; \\\n&gt;   -H &quot;Authorization: Basic ${auth}&quot; \\\n&gt;   -H &quot;Accept: application\/json&quot;)\n$\n$ echo ${response} | jq -r &quot;.list.entries&#x5B;].entry.properties&quot;\n{\n  &quot;cm:title&quot;: &quot;Question 1&quot;,\n  ...\n}\n...\n{\n  &quot;cm:title&quot;: &quot;Question 7&quot;,\n  &quot;dbi:dbi_question&quot;: &quot;Is it possible to use Alfresco to play a Trivia Game?&quot;,\n  &quot;dbi:dbi_correct_answer&quot;: &quot;Of course, Alfresco can do everything&quot;,\n  &quot;dbi:dbi_answer4&quot;: &quot;I don&#039;t know&quot;,\n  &quot;dbi:dbi_answer3&quot;: &quot;Of course, Alfresco can do everything&quot;,\n  &quot;dbi:dbi_answer2&quot;: &quot;Only if using the Enterprise version...&quot;,\n  &quot;dbi:dbi_answer1&quot;: &quot;Obviously not, it&#039;s just an ECM!&quot;,\n  &quot;cm:description&quot;: &quot;Question #7 of the TriviaGame&quot;,\n  &quot;cm:taggable&quot;: &#x5B;\n    &quot;6017bd2f-05d2-4828-9a1d-a418cf43a84e&quot;\n  ]\n}\n{\n  &quot;cm:title&quot;: &quot;Question 8&quot;,\n  &quot;dbi:dbi_question&quot;: &quot;Is this working as it should?&quot;,\n  &quot;dbi:dbi_correct_answer&quot;: &quot;Of course...&quot;,\n  &quot;dbi:dbi_answer4&quot;: &quot;Why do you ask me???&quot;,\n  &quot;dbi:dbi_answer3&quot;: &quot;Definitively not&quot;,\n  &quot;dbi:dbi_answer2&quot;: &quot;Maybe?&quot;,\n  &quot;dbi:dbi_answer1&quot;: &quot;Of course...&quot;,\n  &quot;cm:description&quot;: &quot;Question #8 of the TriviaGame&quot;,\n  &quot;cm:taggable&quot;: &#x5B;\n    &quot;6017bd2f-05d2-4828-9a1d-a418cf43a84e&quot;\n  ]\n}\n$\n<\/pre><\/div>\n\n\n<p>The above query including the properties is probably the optimized way to retrieve the information, since it&#8217;s a single REST-API call and you have all you need there\u2026 But I couldn&#8217;t just complete the blog by using a single REST-API call, it would be too fast ;). Therefore, I will use the list of question IDs, going through them all, retrieving the question and all the possible answers for each one separately, so it can be displayed to the &#8220;player&#8221; to test his knowledge. For that purpose, I&#8217;m using the GET node REST-API (<a href=\"https:\/\/api-explorer.alfresco.com\/api-explorer\/#\/nodes\/getNode\" target=\"_blank\" rel=\"noreferrer noopener\">getNode<\/a>):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [2,21]; title: ; notranslate\" title=\"\">\n$ node=&quot;0b147c71-70fd-498e-9bf6-d40a738699fa&quot;\n$ response=$(curl -k -s -X GET &quot;${endpoint}\/api\/-default-\/public\/alfresco\/versions\/1\/nodes\/${node}&quot; \\\n&gt;   -H &quot;Authorization: Basic ${auth}&quot; \\\n&gt;   -H &quot;Accept: application\/json&quot;)\n$\n$ echo ${response} | jq\n{\n  &quot;entry&quot;: {\n    &quot;aspectNames&quot;: &#x5B;\n      &quot;cm:titled&quot;,\n      &quot;cm:auditable&quot;,\n      &quot;dbi:dbi_trivia&quot;,\n      &quot;cm:taggable&quot;\n    ],\n    &quot;createdAt&quot;: &quot;2023-11-03T09:38:45.786+0000&quot;,\n    &quot;isFolder&quot;: true,\n    ...\n    &quot;name&quot;: &quot;Q8&quot;,\n    &quot;id&quot;: &quot;0b147c71-70fd-498e-9bf6-d40a738699fa&quot;,\n    &quot;nodeType&quot;: &quot;cm:folder&quot;,\n    &quot;properties&quot;: {\n      &quot;cm:title&quot;: &quot;Question 8&quot;,\n      &quot;dbi:dbi_question&quot;: &quot;Is this working as it should?&quot;,\n      &quot;dbi:dbi_correct_answer&quot;: &quot;Of course...&quot;,\n      &quot;dbi:dbi_answer4&quot;: &quot;Why do you ask me???&quot;,\n      &quot;dbi:dbi_answer3&quot;: &quot;Definitively not&quot;,\n      &quot;dbi:dbi_answer2&quot;: &quot;Maybe?&quot;,\n      &quot;dbi:dbi_answer1&quot;: &quot;Of course...&quot;,\n      &quot;cm:description&quot;: &quot;Question #8 of the TriviaGame&quot;,\n      &quot;cm:taggable&quot;: &#x5B;\n        &quot;6017bd2f-05d2-4828-9a1d-a418cf43a84e&quot;\n      ]\n    },\n    &quot;parentId&quot;: &quot;e6395354-d38e-489b-b112-3549b521b04c&quot;\n  }\n}\n$\n<\/pre><\/div>\n\n\n<p>From that point, it&#8217;s only a matter of display and verification, which is simple scripting not related to Alfresco, so I won&#8217;t go through it in details. The final content of the small bash script and its execution to play the game:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [75,84,149]; title: ; notranslate\" title=\"\">\n$ cat triviaPlay.sh\n#!\/bin\/bash\n\n# Define endpoint, credentials, and folder ID\nbase_url=&quot;https:\/\/alf-trivia.dbi-services.com&quot;\nendpoint=&quot;${base_url}\/alfresco&quot;\nfolder_id=&quot;e6395354-d38e-489b-b112-3549b521b04c&quot;\nusername=&quot;admin&quot;\nread -s -p &quot;Please enter the password of the &#039;${username}&#039; user for &#039;${endpoint}&#039;: &quot; password\nauth=$(echo -n ${username}:${password} | base64)\n\n# Get all nodes in the TriviaGame folder\necho\necho\necho &quot;Fetching all existing questions from Alfresco...&quot;\nresponse=$(curl -k -s -X GET &quot;${endpoint}\/api\/-default-\/public\/alfresco\/versions\/1\/nodes\/${folder_id}\/children&quot; \\\n  -H &quot;Authorization: Basic ${auth}&quot; \\\n  -H &quot;Accept: application\/json&quot;)\nnodes=$(echo ${response} | jq -r &quot;.list.entries&#x5B;].entry.id&quot;)\n\n# Iterate through all nodes\nnb_correct=0\nnb_incorrect=0\nfor node in ${nodes}; do\n  # Get question, answers, and correct answer from node&#039;s custom aspect\n  response=$(curl -k -s -X GET &quot;${endpoint}\/api\/-default-\/public\/alfresco\/versions\/1\/nodes\/${node}&quot; \\\n    -H &quot;Authorization: Basic ${auth}&quot; \\\n    -H &quot;Accept: application\/json&quot;)\n  question=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_question&quot;&#039;)\n  answer1=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_answer1&quot;&#039;)\n  answer2=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_answer2&quot;&#039;)\n  answer3=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_answer3&quot;&#039;)\n  answer4=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_answer4&quot;&#039;)\n  correct_answer=$(echo ${response} | jq -r &#039;.entry.properties.&quot;dbi:dbi_correct_answer&quot;&#039;)\n\n  # Ask question and get user input\n  echo\n  echo -e &quot;\\033&#x5B;4mQuestion #$((nb_correct+nb_incorrect+1)):\\033&#x5B;0m&quot;\n  echo &quot;${question}&quot;\n  echo &quot;  1) ${answer1}&quot;\n  echo &quot;  2) ${answer2}&quot;\n  echo &quot;  3) ${answer3}&quot;\n  echo &quot;  4) ${answer4}&quot;\n  read -p &quot;Please enter your answer (1, 2, 3 or 4): &quot; user_answer\n  answer=$(eval &quot;echo \\${answer$user_answer}&quot;)\n\n  # Check if answer is correct\n  if &#x5B;&#x5B; &quot;${answer}&quot; == &quot;${correct_answer}&quot; ]]; then\n    echo -e &quot;\\033&#x5B;32;1m  --&gt; Correct!\\033&#x5B;0m&quot;\n    nb_correct=$((nb_correct+1))\n  else\n    echo -e &quot;\\033&#x5B;31m  --&gt; Incorrect... The correct answer is: \\033&#x5B;31;1m${correct_answer}\\033&#x5B;31m.\\033&#x5B;0m&quot;\n    nb_incorrect=$((nb_incorrect+1))\n  fi\ndone\n\n# Print final score\necho\nif &#x5B;&#x5B; &quot;${nb_incorrect}&quot; == &quot;0&quot; ]]; then\n  echo -e &quot;\\033&#x5B;32;1m==&gt; Congratulations, your final score is a perfect ${nb_correct}\/$((nb_correct+nb_incorrect))!\\033&#x5B;0m&quot;\nelse\n  if &#x5B;&#x5B; &quot;${nb_correct}&quot; -gt &quot;${nb_incorrect}&quot; ]]; then\n    echo -e &quot;\\033&#x5B;32;1m==&gt; Your final score is an acceptable ${nb_correct}\/$((nb_correct+nb_incorrect)). You can still do better!\\033&#x5B;0m&quot;\n  else\n    echo -e &quot;\\033&#x5B;31;1m==&gt; Oops, your final score is ${nb_correct}\/$((nb_correct+nb_incorrect))... You will do better next time!\\033&#x5B;0m&quot;\n  fi\nfi\necho\n$\n$\n$ # Execute the script to play the game\n$ .\/triviaPlay.sh\nPlease enter the password of the &#039;admin&#039; user for &#039;https:\/\/alf-trivia.dbi-services.com\/alfresco&#039;:\n\nFetching all existing questions from Alfresco...\n\nQuestion #1:\nWhat is the best ECM?\n  1) Documentum\n  2) Alfresco\n  3) Nuxeo\n  4) SharePoint (lol)\nPlease enter your answer (1, 2, 3 or 4): 2\n  --&gt; Correct!\n\nQuestion #2:\nWhy?\n  1) Because\n  2) Because\n  3) Because it is the best\n  4) Because\nPlease enter your answer (1, 2, 3 or 4): 3\n  --&gt; Correct!\n\nQuestion #3:\nHow can you interact with Alfresco REST-API?\n  1) Using a browser\n  2) Using a script (bash\/python\/java\/etc)\n  3) Using Postman\n  4) All of the above\nPlease enter your answer (1, 2, 3 or 4): 4\n  --&gt; Correct!\n\nQuestion #4:\nWhat is the correct HTTP Verb to use to perform a search?\n  1) POST\n  2) GET\n  3) PUT\n  4) DELETE\nPlease enter your answer (1, 2, 3 or 4): 1\n  --&gt; Correct!\n\nQuestion #5:\nWhat is the correct URI to use to perform a search?\n  1) \/alfresco\/api\/search\n  2) \/alfresco\/api\/-default-\/versions\/1\/search\n  3) \/alfresco\/api\/-default-\/public\/search\n  4) \/alfresco\/api\/-default-\/public\/search\/versions\/1\/search\nPlease enter your answer (1, 2, 3 or 4): 4\n  --&gt; Correct!\n\nQuestion #6:\nHow can you create a Node with content in a single API call?\n  1) Using the content API and a multipart body\n  2) Using the content API and a json body\n  3) Using the children API and a multipart body\n  4) Using the children API and a json body\nPlease enter your answer (1, 2, 3 or 4): 3\n  --&gt; Correct!\n\nQuestion #7:\nIs it possible to use Alfresco to play a Trivia Game?\n  1) Obviously not, it&#039;s just an ECM!\n  2) Only if using the Enterprise version...\n  3) Of course, Alfresco can do everything\n  4) I don&#039;t know\nPlease enter your answer (1, 2, 3 or 4): 3\n  --&gt; Correct!\n\nQuestion #8:\nIs this working as it should?\n  1) Of course...\n  2) Maybe?\n  3) Definitively not\n  4) Why do you ask me???\nPlease enter your answer (1, 2, 3 or 4): 1\n  --&gt; Correct!\n\n==&gt; Congratulations, your final score is a perfect 8\/8!\n\n$\n<\/pre><\/div>\n\n\n<p>I can also force some wrong answers, just to make sure it detects it properly:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [9,10,13,25,26,28]; title: ; notranslate\" title=\"\">\n$ .\/triviaPlay.sh\n...\nQuestion #2:\nWhy?\n  1) Because\n  2) Because\n  3) Because it is the best\n  4) Because\nPlease enter your answer (1, 2, 3 or 4): 1\n  --&gt; Incorrect... The correct answer is: Because it is the best.\n...\n\n==&gt; Your final score is an acceptable 7\/8. You can still do better!\n\n$\n$\n$ .\/triviaPlay.sh\n...\nQuestion #8:\nIs this working as it should?\n  1) Of course...\n  2) Maybe?\n  3) Definitively not\n  4) Why do you ask me???\nPlease enter your answer (1, 2, 3 or 4): 4\n  --&gt; Incorrect... The correct answer is: Of course....\n\n==&gt; Oops, your final score is 0\/8... You will do better next time!\n\n$\n<\/pre><\/div>\n\n\n<p>As mentioned earlier, you could simply use the first REST-API command to get all the details and then creating arrays using &#8220;<em>JQ<\/em>&#8220;, containing all metadata needed for the game. Both approaches are very easy to implement\/script and give a funny ending to a presentation about Alfresco REST-API, so it was good enough for me! In case you missed them, the previous parts of this blog can be found <a href=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-repository-skeleton\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> and <a href=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-add-questions\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In previous blogs (here &amp; here), I talked about the Repository skeleton necessary and then about how to use REST-API to add questions and answers into Alfresco for the Trivia Game. In this third part, I will go through what would be needed to really play the game since that was the initial goal. This [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[525],"tags":[3169,3166,3167,3165],"type_dbi":[],"class_list":["post-29224","post","type-post","status-publish","format-standard","hentry","category-enterprise-content-management","tag-alfresco","tag-game","tag-rest-api","tag-trivia"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Alfresco - Use Alfresco for a Trivia Game - Play the game - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Alfresco - Use Alfresco for a Trivia Game - Play the game\" \/>\n<meta property=\"og:description\" content=\"In previous blogs (here &amp; here), I talked about the Repository skeleton necessary and then about how to use REST-API to add questions and answers into Alfresco for the Trivia Game. In this third part, I will go through what would be needed to really play the game since that was the initial goal. This [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-07T08:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-07T13:43:12+00:00\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"Alfresco &#8211; Use Alfresco for a Trivia Game &#8211; Play the game\",\"datePublished\":\"2023-11-07T08:30:00+00:00\",\"dateModified\":\"2023-11-07T13:43:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\"},\"wordCount\":527,\"commentCount\":0,\"keywords\":[\"Alfresco\",\"Game\",\"REST-API\",\"Trivia\"],\"articleSection\":[\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\",\"name\":\"Alfresco - Use Alfresco for a Trivia Game - Play the game - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-11-07T08:30:00+00:00\",\"dateModified\":\"2023-11-07T13:43:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alfresco &#8211; Use Alfresco for a Trivia Game &#8211; Play the game\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\/\/blog.dbi-services.com\/author\/morgan-patou\/\",\"https:\/\/x.com\/MorganPatou\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Alfresco - Use Alfresco for a Trivia Game - Play the game - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/","og_locale":"en_US","og_type":"article","og_title":"Alfresco - Use Alfresco for a Trivia Game - Play the game","og_description":"In previous blogs (here &amp; here), I talked about the Repository skeleton necessary and then about how to use REST-API to add questions and answers into Alfresco for the Trivia Game. In this third part, I will go through what would be needed to really play the game since that was the initial goal. This [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/","og_site_name":"dbi Blog","article_published_time":"2023-11-07T08:30:00+00:00","article_modified_time":"2023-11-07T13:43:12+00:00","author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"Alfresco &#8211; Use Alfresco for a Trivia Game &#8211; Play the game","datePublished":"2023-11-07T08:30:00+00:00","dateModified":"2023-11-07T13:43:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/"},"wordCount":527,"commentCount":0,"keywords":["Alfresco","Game","REST-API","Trivia"],"articleSection":["Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/","url":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/","name":"Alfresco - Use Alfresco for a Trivia Game - Play the game - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-11-07T08:30:00+00:00","dateModified":"2023-11-07T13:43:12+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/alfresco-use-alfresco-for-a-trivia-game-play-the-game\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Alfresco &#8211; Use Alfresco for a Trivia Game &#8211; Play the game"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/blog.dbi-services.com\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=29224"}],"version-history":[{"count":3,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29224\/revisions"}],"predecessor-version":[{"id":29230,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29224\/revisions\/29230"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=29224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=29224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=29224"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=29224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}