## Short description ## Describe the observation in one or few sentences, so one can understand the issue ## without reading the page itself. ## Example: New users failing to create new page, choosing one of the templates instead ## of the "Create New Empty Page" link. '''Most users don't know, after having called an action showing some metainformation on a page, how to return to the original wiki page.''' = Observation = ## Full description of what happened (facts). ## Describe the actual behavior ## Describe the expected behavior Users with technical and non-technical background do call an action like * info * info&general=1 * info&hitcounts=1 * diff * attachment on a wiki page. After having e.g. looked at the diff, info or file attachments or having uploaded an new file, they don't know how to return to the original wikipage. == Task == ## Describe the task When viewing some metainformation on a page, it is often unclear, how to return to the underlying wikipage. After having uploaded a file, "return" in the browser seems not be a good solution, especially after file uploads. Users are puzzeld then. Often they return to the mainpage by clicking the wikilogo and click through the pages to view to page in question again. Deleting the "action=..." string in the url-line of the browser is too complicated since it cannot be achieved by simple mouse clicking. This possibility is often also unknow to inexperienced users. Some users having activated "show recently visited pages" in the users preferences menue use this to return to the wikipage, but do complain, that this is not a good implementation but rather a trick to get Moin to do what they want. == Users == ## Describe the users observed: are they typical users? small group with special needs? Their common atributes, background, etc. Technical as non-technical users which are new to wikis. == Context == ## How did you make this observation? watched them behind the back? email support? ## watching wiki activity? ## Describe the spatial, temporal and/or social context in which the observed facts ocurred. Was in their work/homes/public spaces, in a formal/informal setting, under wich constrains/limits, etc. ## MoinMoin details: version, server if it related ## Client operating system and browser Moin used as an editable intranet with mostly elderly engineers. = Discussion = To avoid these problems, I have added a new menue item "Return to wikipage", that appears a first item on the menulist e.g. like "Show parentpage". When clicking on the link, actually the show-action is performed. When building the menue in my mytheme.py file, I do check the url with "pageurl.find" as follows: {{{ def pagepanel(self, d): """ Create page panel """ _ = self.request.getText if self.shouldShowEditbar(d['page']): page = d['page'] _get = self.request.getText pageurl = self.request.query_string # start building list of links and actions builder = BuildLinks(self.request, page) # if metainfos on the current page are shown add link if (pageurl.find("action=info") != -1) or (pageurl.find("action=diff") != -1) or (pageurl.find("action=AttachFile") != -1): builder.add('show', u'Return to wikipage') # if parent page get parent and add link parent = page.getParentPage() if parent: builder.addplain(parent.link_to(self.request, _get(u'Show parentpage', formatted=False))) # add actions #builder.add(pageurl, pageurl) builder.add('edit', 'Edit') if self.request.cfg.mail_enabled: if self.request.user.isSubscribedTo(page) == 0: builder.add('subscribe', 'Subscribe') else: builder.add('subscribe', 'Unsubscribe') builder.add('diff', u'Show changes') builder.add('print', 'Printpreview') builder.add('RenamePage', 'Rename') builder.add('DeletePage', u'Delete') builder.add('info', 'Page properties') builder.add('AttachFile', u'File attachments') ... class BuildLinks(object): """ Build a link list """ def __init__(self, request, page): self.request = request self.url = quoteURL(page.page_name) self.links = [] def addplain(self, text): self.links += [text] def add(self, action, label): url = '%s?action=%s' % (self.url, action) txt = self.request.getText(label, formatted=False) self.links += [link(self.request, url, txt)] def __call__(self): html = u'\n' %\ '\n'.join(['
  • %s
  • ' % item for item in self.links if item != '']) return html }}} This mostly works well and the users are now happy again. Alas, the above solution has also some problems due to a "bug" in Moin. See for that MoinMoinBugs/NoActionInQueryStringAfterFileUpload. I would suggest to implement that menue item in the default moin themes to improve usability. ## Why do we believe the users failed in the task? ## How to prevent this failure? ---- CategoryUsabilityObservation