{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1764","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1764/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1764/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1764/events","html_url":"https://github.com/ipfs/go-ipfs/issues/1764","id":108738864,"number":1764,"title":"Detailing the Tour functionality","user":{"login":"vijayee","id":7297296,"avatar_url":"https://avatars.githubusercontent.com/u/7297296?v=3","gravatar_id":"","url":"https://api.github.com/users/vijayee","html_url":"https://github.com/vijayee","followers_url":"https://api.github.com/users/vijayee/followers","following_url":"https://api.github.com/users/vijayee/following{/other_user}","gists_url":"https://api.github.com/users/vijayee/gists{/gist_id}","starred_url":"https://api.github.com/users/vijayee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vijayee/subscriptions","organizations_url":"https://api.github.com/users/vijayee/orgs","repos_url":"https://api.github.com/users/vijayee/repos","events_url":"https://api.github.com/users/vijayee/events{/privacy}","received_events_url":"https://api.github.com/users/vijayee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-28T20:22:09Z","updated_at":"2015-09-29T15:08:30Z","closed_at":null,"body":"https://github.com/vijayee/tourguide\r\n\r\nExists a prototype for the tour.  It features the same tour data structure definitions as the internal package with some additional interfaces to make it work with the terminal menu system. It also features an additional fields for determining each chapter's completion ie:\r\n```go\r\nvar FileBasicsAdding = Content{\r\n\tTitle: \"Adding Files\",\r\n\tText: `ipfs add\r\n\t`,\r\n\tverify: func(stdin []byte) (bool, error) {\r\n\t\tvar input = string(stdin)\r\n\t\tre, err := regexp.Compile(\"added\\\\s([A-Za-z0-9]*)\\\\s([A-Za-z0-9]*)\")\r\n\t\tif err != nil {\r\n\t\t\treturn false, err\r\n\t\t}\r\n\t\tmatches := re.FindStringSubmatch(input)\r\n\t\tif len(matches) < 1 {\r\n\t\t\treturn false, errors.New(\"Add function failed:\\n\" + input)\r\n\t\t}\r\n\t\tif matches[1] != \"\" {\r\n\t\t\treturn true, nil\r\n\t\t}\r\n\t\treturn false, errors.New(\"Verification failed\")\r\n\r\n\t},\r\n}\r\n```\r\nThis setup allows you to pipe your ipfs commands into the tour and have their output verified. This may or may not be sufficient for verification. Some chapters may need to actually interact with the ipfs node to verify completion but the tour is not using the ipfs-api yet.\r\n\r\nWhat I'd like to determine is what the chapters' instructions should be for the tour and then start planning what the verification for each should be and whether or not they need to interface with the api directly. There are many chapters in the data structure conceptually but many have no valid fields or instructions. Many may not be needed in my opinion."},"comment":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/comments/144089156","html_url":"https://github.com/ipfs/go-ipfs/issues/1764#issuecomment-144089156","issue_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1764","id":144089156,"user":{"login":"vijayee","id":7297296,"avatar_url":"https://avatars.githubusercontent.com/u/7297296?v=3","gravatar_id":"","url":"https://api.github.com/users/vijayee","html_url":"https://github.com/vijayee","followers_url":"https://api.github.com/users/vijayee/followers","following_url":"https://api.github.com/users/vijayee/following{/other_user}","gists_url":"https://api.github.com/users/vijayee/gists{/gist_id}","starred_url":"https://api.github.com/users/vijayee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vijayee/subscriptions","organizations_url":"https://api.github.com/users/vijayee/orgs","repos_url":"https://api.github.com/users/vijayee/repos","events_url":"https://api.github.com/users/vijayee/events{/privacy}","received_events_url":"https://api.github.com/users/vijayee/received_events","type":"User","site_admin":false},"created_at":"2015-09-29T15:08:30Z","updated_at":"2015-09-29T15:08:30Z","body":"So I guess let's start from the Top. Small attempt at story........\r\n\r\nChapter 1: Hello Mars\r\nSo long ago.......In a galaxy far far away...Unixians created life and man out of very simple pieces that fit together like lego bricks. They then placed them on the planet earth as stewards and care takers of the primitive planet. Their leader began to give very specific instructions that boomed from the sky to man on the nature of creation,  the storage of knowledge, and the Universe which stated \"Behold I have created you out of tiny interlocking pieces which store the potential and capacity for great knowledge and attainment.....and....!@#%@$@$*$\" Their leader looked to the heavens in the direction of mars and became distraught and angry whisper echoed the earth. \"Why is Mars still red!?....What do you mean we spent our water budget on earth!?.....how long till development can continue!?!?!.....It was your job to manage the budget!!....I'm mid press-release what will I tell these guys!?!\". Their leader then addressed man and said \"Hold on, I'll be right back\". Man was left confused and alone which soon led to great anger and frustration. It became customary to utter \"!@#%@$@$*$\" in fluent unixian when angry which led to war. The Unixians returned moments later relative to their time but failed to account for relativity in time and discovered man had formed its own civilizations and organizational structures and a network of information called the internet. It was close in concept to the nature of knowledge they had tried to initially bestow upon them but all wrong in its structure and mostly composed of cats. So over-budget, the Unixians could not afford to start over and began to inspire those with the vision to fix the errors in their network of information. One robust enough to reach the stars. The Interplanetary File System began its creation in order to fix the problems created in ignorance. In order to receive the information you must issue commands to initialize with the heavens and your peers.  You may use the primitive earth pipe to confirm your commands. (\"Warp pipes are on the way!\" -The Prohphet Mario )\r\n\r\nipfs init | ./tourguide"}}