This is an unofficial software wish list, by which I aim to improve the feedback to new submissions, authoring, review, and sysop work. Your participation is voluntary. If you have any suggestions, or would like to take any task, please leave me a message. Thanks, --Gryllida (talk) 01:36, 22 March 2019 (UTC)
This is an unofficial software wish list, by which I aim to improve the feedback to new submissions, authoring, review, and sysop work. Your participation is voluntary. If you have any suggestions, or would like to take any task, please leave me a message. Thanks, --Gryllida (talk) 01:36, 22 March 2019 (UTC)
These tools assist with authoring and review at Wikinews.
Wikinews is a neutral, entertaining citizen journalism site where anyone can add a story. To ensure the quality and accuracy of the published output, peer review is implemented. The wiki software needs to be improved to make the peer review as well as article authoring easier. To be clear, article authors are guided by style and content guides. While comprehensive and designed very carefully, these are barely reflected on the authoring or reviewing software. Some commonly performed tasks are listed below. Implementing them in the Wikinews web site would allow to increase productivity of authors as well as reviewers.
Longer version
Background: 'Wikinews', the present site, is a wiki for writing, reviewing, and publishing news. This has two main objectives: publishing news without bias, and engaging an average citizen in news production. This wiki is written in PHP (powered by MediaWiki software) and provides an API for manipulating content that may be accessed from PHP extensions to the wiki as well as from JavaScript. The wiki also provides gadgets, facilities for running JavaScript scripts on-wiki. The wiki is hosted by the Wikimedia Foundation.
Implementing and adding new PHP extensions is a long and laborious process that requires code review by the Wikimedia staff. It has an advantage of being server-side and rather flexible. Implementing and adding new gadgets is easy and requires no effort from Wikimedia staff. However it is limited to JavaScript and Lua only. It is also possible to implement and host an external tool that manipulates Wikinews content using its API, this may be written in any language (Python, nodejs, Perl, Go, anything you fancy), either self-hosted or hosted as a toolsforge, a facility provided by the Wikimedia foundation, with minimal effort, in the case of external tool authentication may be made using OAuthOpenID that is installed on all wikis. It is also possible to write desktop apps (for mac, windows, free desktops) which prompt the user for a username and password and then manipulate the content using the API.
Problem statement: some news reading, authoring and reviewing and administration tasks are currently poorly implemented. For example they include browsing topics, adding sources, correct formatting and links, plagiarism check, addition of sources metadata, and walking new users through the basics of neutral news writing. This results in slow review process and poor quality of new submissions, which in its turn results in even slower review process as reviewers put effort into reviewing articles not ready for publication and into explaining newcomers the basics that could have been already presented to them in a properly laid out new article wizard. This slow review process results in some submissions being discarded because they are no longer fresh by the time a reviewer has processed other articles in the queue. (Wikinews only publishes articles about events which happened 3 or fewer days ago.)
Solution requirements: make a list of laborious tasks and implement semi-automated assistants that make these tasks easier. This list of tasks and the desired assistants for each is included below.
Assessment of the solution efficiency: feedback from users of these assistants; quality of new articles submissions; reviewing pace.
WHAT YOU CAN TEST
Please test the following and leave notes on this talk page or on the talk page of the script:
User:Gryllida/NewArticle- a step by step article creation (requires configuration changes and adding custom JavaScript to instantly safe draft, instructions within.) - Personally I doubt this is useful, adds complexity. Not sure of the merit of instant saving. Feedback needed.
User:Gryllida/js/plagiarismcheck-0.1.js Version 0.1 (2018-02-24) - initial release - adds an "Open DupDet" tab which provides links to dupdet results against the external links present in the article
This button is located at the right of the 'Save Changes', 'Show Preview', 'Show changes' buttons. When clicked, says 'Saving...', saves currently typed text using a MediaWiki API query without reloading the page, and goes back to 'Instant Save' button text. While saving the edit summary is modified to append " (assisted)" at the end.
(please wait up to about 15 minutes for someone to reply to you)
Unanswered questions
disable "Switch to visual editor" or "continue editing" welcome dialog?
existing scripts or extensions for these tasks:
spell check for wiki editor (so that we do not rely on the users installing a spell checker in their web browser)
input validation for wiki editor
retrieving external page contents html with images without the ads (like firefox's reading view) - citoid, translation server, xulrunner?
delete spam as 1, 2, 3 (see a new spam page, click a button to view user contributions, click a button to wipe all their new pages and block them indefinitely)
To ensure accuracy of the published output, an article goes through "developing" to "review" to "not ready" or "publish". This whole process is documented here, for instance, in more detail. This process is inefficient: archival and notification of authors need to be performed manually, and a lot of time is spent processing the article to check for common errors such as plagiarism, broken or missing wikilinks, sources sorted in wrong order, articles are more than 3 days old, and so on. Thus reviewer tools could be improved so that these tasks take less time, and article authoring tools could be improved so that these mistakes happen less.
At present reviewers use the existing wiki facilities as well as the easy peer review script. Development of this gadget has been slow.
Not many contributors are available on the web site.
Not many contributors know JavaScript.
To test modified versions of the gadget, 'publishing' articles may be necessary, which may not be done on production site. However, mirroring Wikinews on localhost to test the gadget is virtually impossible (I myself took two months to import a dump of Wikinews pages data and ran out of space ona 50GB drive in August 2017).
Tasks are not adequately documented.
It is recommended to implement these tasks using JavaScript using one of the following methods.
dialog tools. This software is comprised of several files on-wiki, and its functionality is tested and demonstrated on this page. Further documentation is available here. The premise behind this approach is that users benefit from the ability to create custom wizards using wiki markup rather than programming in JavaScript. This tool is developed by Pi zero.
a custom gadget, this is the same technology as behind the dialog tools, but it does not provide users access to creating their own custom dialogs that may be modified without JavaScript knowledge.
a standalone JavaScript tool using the wiki API and oauth, but this again does not provide users access to creating their own custom dialogs that may be modified without JavaScript knowledge. Meanwhile this allows to work outside of the restrictions of a wiki; a custom web site may be created.
Rationale: article authors occasionally copy content from external sites, despite it being incompatible with the Creative Commons Attribution 2.5 License used at Wikinews. Other authors copy and then reword content, which is non-trivial to find. Relevant content guide section.
Who would use it: authors (to learn about and avoid plagiarism) and reviewers (to check for plagiarism).
provide links to dupdet output for external links present in the current article
allow to browse current article contents and external source contents side by side with copyvio offending parts highlighted? (depends on the 'read sources' task)
Criteria of success: plagiarism check takes less time
Who would use it: authors (to add wikilinks) and reviewers (to correct or add wikilinks).
Current developments and tools: Wiki markup in plain text, plus documentation and examples in other articles. This is not semi-automated in any way.
How it would work:
provide a toolbar button
scan the text to suggest user which phrases to wikilink (like a word processor spell checker goes through offending words one by one and provides suggestions)
use {{W}} when the page does not exist on the local wiki
check for word forms
only wikilink the first occurrence
allow user to select a phrase and wikilink to a local or wikipedia page of their liking
Criteria of success:
relevance of the suggestions produced when scanning the text
only wikilinks the first occurrence
wikilinking a custom phrase takes little time and effort
spell checkers in browsers, not always installed by default
meta:Gadgets/Rechtschreibpruefungmeta:Gadgets/Rechtschreibpruefung Spell checking for common errors while reading articles. Spelling mistakes are highlighted in red, and pointing the mouse over them shows possible corrections. Users a dictionary of common mistakes. - no
notifier to tell the article author(s) of the review outcome see /Notifier merged this subpage into this page 02:04, 14 February 2018 (UTC)
notifier to tell previous reviewer(s) when the article is re-submitted for review
The reviewer clicks 'notify contributors' button
The page leaves messages on the contributors talk pages
This SHOULD NOT become a bugger
could be opt-out or opt-in (whatever preferred)
MUST ignore irrelevant contributors such as those who only fixed a typo or vandalised the page or did a page rename without any other contributions
SHOULD have a text area where the reviewer may leave a personalised message to deliver to everyone who is notified of the review outcome
SHOULD present the reviewer with a list of contributors and what they did to the article, so that they deliver the message to them all in one click (and only those that they consider unnecessary).
easy peer review script shows "article review completed" message at the top
add link to pass article title as an argument to another page
the 'another page' has a few things:
article title at the top (received as an argument, not editable)
list of article contributors who would be notified, with a tick box next to each (retrieved by JS based on the article title; excludes the last reviewer)
a multiline text area where the message may be modified (something like 'Re: article title here' headline and 'Hi NICK, your article was reviewed as 'not ready /.ready'. Please see reviewer comments here (this is a link to article talk page) and check the article history to see the changes made during the review as they may help you with writing your future articles')
phases
I can provide article title and retrieve the list of potential contributors to notify. api query a facility that allows dialog to acquire revision history of a page; might be up to 50 revisions at a time - at WN:Dialog/do/test - local dialog parameters request the data, the data is read from other dialog parameters
I can provide article title and retrieve the list of potential contributors to notify, then leave them all a message.
I can provide article title and retrieve the list of potential contributors to notify, then leave them all a customized message (edited before clicking submit)
can receive article title as an argument, and do everything described above.
How it would work:
provide interface at the time or after submitting a review
the interface is side by side with the review comment and the article contents so that either of them may be reused when writing the custom comments
interface has three inputs:
a list of relevant contributors (with links to user pages and contributions, and with summary of their contribution to this article (eg 'did 3 edits'))) which are all ticked but may be unticked
a custom message subject (prefixed by link to the review comments)
a custom message body
clicking submit delivers the message to the selected contributors talk pages
the dialog must have a link to the program discussion page or the technical water cooler
a scratch space for reviewer to store "running notes" (whilst editing the article at the same time) to use these notes in the final reviewer comment (from this page's talk page)
Who would use it: reviewers
Current developments and tools: none; easy peer review gadget notes must be placed into another program ie Notepad if article must be edited prior to submitting the review
How it would work: use localStorage to save the ezPR gadget contents. For different pages - use some identifier that does not change after a page rename.
Task 8: Edit the front page leads to add newly published articles
"Improved make-lead. Particular improvements of interest include better deduction of the lede (current program sometimes gets confused); better handling of templates in the lede; more sophisticated help with selecting an image; and swapping leads around rather than just replacing one." (from this page's talk page)
[2] - Zotero translators contains a list of domains that helps to retrieve the relevant information from the page. This may need to be expanded to fit the existing massive listing of source templates already used at Wikinews..
https://stackoverflow.com/questions/3837717/get-html-of-external-url-in-jquery "The short answer is you can't, because AJAX requests are limited to the same (sub)domain and port by the Same Origin Policy. The usual way is to use a server-side script (written e.g. in PHP) that serves as a proxy: It fetches the external site's content and serves it back to JavaScript. It will have to run on the same domain as the page."
Writers may often not be aware of the the 'no bias', 'no copyrighted content', 'pyramid' concepts.
Walk the user through WN:PILLARS (a wizard kind of thing)?
Present a 'I will have no bias', 'I will have 5Ws answered in lead', etc checklist above or to the side of the edit box or something, show it again when users click submit.
This can be interactive. First 'I will have no bias and observe copyright', then only show the 'pyramid structure' prompt after the user started writing a second paragraph.
This can be simply a video that users are encouraged to watch before they begin.
When a talk page grows large, and particular discussions are no longer active, they need to be moved to a separate page. This is not so important at article talk pages but at water cooler this is a necessity.
Who would use it: everyone who wants to volunteer to look after talk pages
Current developments and tools: This is done manually using {{archive top}} template and similar.
Task 14: add todo notes to propose a story creation (often by oneself, sometimes by someone else)
There is no comfortable facility on-wiki to write 'this topic would be nice to write about'. A wn:newsroom/ideas page would suffer being a mess. And creating the articles in main namespace tagged with 'category:stub' would incur a maintainance burden on an admin.
Requirements:
store one or two sentences with links to sources which could later be written into a story, often by the same person who wrote these lines, but they may be unable to write half of their ideas
easy for someone else to take a proposed story
easy to dispose of the proposed stories which nobody takes
could be complemented with discoverability, for instance a person reading an article on a particular topic could be presented with a list of articles which are under development on a similar topic
avoid collaborative editing (it does not work well)
A possible solution could be modifying {{infobox}} so that templates like {{Australia}} include not only published stories but also stories under development, which the reader could develop further. An option to suggest a news topic could be provided. (?)
Provide readers with access to articles relating to a particular region or topic.
The topics should be easy to navigate.
The way the news on a particular topic is presented should be visually appealing and consistant.
Who would use it: readers
Current developments and tools:
Links from the front page take readers to pages like Category:Australia, however those are not as nicely formatted and the stories do not have images. It is also difficult to navigate back, readers maybe still want to continue seeing the list of topics handy without having to click 'back'.
1) a bar with categories visible at all times when reading a story or viewing a category:
Africa • Asia • South / Central / North America • Europe • Middle East • Oceania • Antarctica
Crime and law • Culture and entertainment • Disasters and accidents • Economy and business • Education • Environment
Health • Obituaries • Politics and conflicts • Science and technology • Sports • Wackynews • Weather
And when the user moves mouse over them, or clicks any of them, a bar with subcategories is shown, for example
Africa • Asia • South / Central / North America • Europe • Middle East • Oceania (currently selected) • Antarctica
Australia • New Zealand
User then can navigate
Africa • Asia • South / Central / North America • Europe • Middle East • Oceania (currently selected) • Antarctica
Australia (currently selected) • New Zealand
NSW • South Australia • Western Australia • Northern Territory • ACT • ... (Etc)
Simultaneously the topic categories could also be selected in a similar way.
2) At places like Category:Australia images and/or short snippets for each news could be shown.
I think that if a list like this is shown somewhere, it should have a search box which takes the reader to a news-friendly search page. Unlike the current one, this page should allow the reader to select topics (regions or sections) and view the results sorted by publication date. The current search API sorts them by creation date. I am not sure how this date processing should occur. When a certain topic is selected, all its parent topics should also be shown, and also the list of child ones (subcats of a given category). --Gryllida (talk) 00:40, 13 February 2020 (UTC)
Spam often comes in the form of new pages. Its deletion requires (as I think) numerous clicks such as:
open the page to view its content and confirm that it is spam
click 'delete page'
click 'advertising/spam' delete reason
click 'delete'
click to switch back to the recent changes tab
click 'history' next to the page author's nick, check whether they made any other spammy pages
click to switch back to the recent changes tab
click 'block' next to the page author's nick
click to select 'indefinite'
click to select 'spam' block reason
click block
This is laborious and time consuming. The number of clicks needs to be reduced. This may be achieved by adding delete and block links where appropriate, pre-selecting the correct block and delete reasons, showing page contents or contributor contributions where needed so that viewing them on a separate page is not required.
expected flow:
see a new spam page
click a button to view user contributions
click a button to wipe all their new pages and block them indefinitely
as proposed by SVTCobra:
"click on the user name and select the type of spam (in this case phone number spam) and set for indefinite, and then the following would happen automatically: 1) block notice issued 2) mass deletion of pages added 3) revisions hidden 4) user added to the list" Wikinews:List of phone number spambots.
as proposed by Gryllida:
In fact when blocking it would be nice to view a list of the users contributions below the block box, and a mass delete tick box.
blocking section with the fields such as block duration and reason
tick box for mass delete (takes place when I click 'block')
or a browser add-on which checks which tab the reviewer spends time in
find what web browser reviewers use
drawback: some reviewers just don't even start reviewing (for example I don't review larger articles with more than four sources) because of how terribly difficult it is, they are not included into this study
Wikinews publishes its news at social networks such as facebook or twitter, this is done by a robot or human, often without adding hash tags. Would addition of these hash tags increase audience? This may need to be tested.
A desired solution would be sharing some links with and without hash tags and creating a correlation.
The same solution could be used for different social networks.
This needs to keep in mind that more page views is not necessarily better.
Who would use it: everyone
Current developments and tools: none
Task 20: configure the editor - disable welcome dialog
If you open a new private browser window and visit Wikinews home page, there you can make a new page in the 'write a new article' section. That opens the new page contents in mw:Extension:WikiEditor.
It immediately prompts "Switch to visual editor" or "continue editing". Visual Editor is not ready yet. How can this welcome dialog be disabled?
Who would use it: article authors
Current developments and tools: unclear
Task 21: configure the editor - enable syntax highlighting
If you open a new private browser window and visit Wikinews home page, there you can make a new page in the 'write a new article' section. That opens the new page contents in mw:Extension:WikiEditor. It has no syntax highlighting.
Who would use it: article authors
Current developments and tools:
mediawiki.org has a syntax highlight toolbar button for the WikiEditor (see, for example, [4], type [[foo]] and it turns blue underline). Where is this syntax highlighting toolbar button and its subroutine source code found? (I like the syntax highlighting; not sure whether the font size changes for headings are a good idea or not.)
mw:Extension:CodeMirror already available as beta feature, may be the preferred option. enable it by default for everyone including anonymous contributors?
Task 22: configure the editor - add error checking
If you open a new private browser window and visit Wikinews home page, there you can make a new page in the 'write a new article' section. That opens the new page contents in mw:Extension:WikiEditor.
I would like to add line numbering to it like in mw:Extension:CodeEditor and some syntax check ("{{" has a matching "}}" for example). This would allow me to write a custom subroutine to nag myself about sources templates that were not filled in correctly. How can this line numbering and error check be added -- you can see this error checking at a javascript page if you type "{" without a closing brace. How can this be added to the wiki editor?
need to find alternative syndicate sources when some are paywalled
"The Washington Post, ABC News, The New York Times — they are paywalled sources and of ten they republish articles from AP, AFP, Reuters or such wire agencies" (acagastya)
Who would use it: authors and reviewers
Current developments and tools: none
How it would work:
"search headline with syndicate name prefixed" (acagastya)
need to track article review phase history - which phrases take longer - to see when and why authors abandon writing a story
this would help to make writing easier by developing templates and tools which facilitate the difficult tasks and provide clear documentation of the work required to complete
this could also allow to track mistakes and topic preferences of authors and reviewers (to easier allocate articles from review queue to each reviewer)
Who would use it: reviewers, authors, editors, everyone
Current developments and tools:
currently review history is only stored at the article talk page, and after the article is stale and is deleted, this precious information is no longer available for the newcomer or for other reviewers
Gryllida (talk) leaves notes to involved authors in the view of numbered list on some contributors' talk pages, this is done by hand by reading the story (prior to deletion, or after a review) and formulating a list of strengths (=to praise) and weaknesses (=points for improvement)
this is time consuming and not everyone does this and we do not know how to do it in the most efficient way possible
we need to assist a reviewer or a deleting administrator with leaving notes from an article talk page on authors' talk pages (or reviewers' talk pages where a reviewer preferred topic areas may be noted)
Needed implementation:
by article name, output its review phase history
date created,
date added to developing,
date submitted for review,
date re-submited for review,
date marked as abandoned,
date deleted)
...and author(s) involved (which reviewer or which author did the category change)
output in a sortable table
add 'time from creation to submit to review', 'time from submit to review to reviewed' etc columns to the table
by a username, show this information for each article they created - including for deleted articles (needs sysop access)
by a username, show this information for each article they reviewed - including for deleted articles (needs sysop access)
...?
I just posted a note to Phabricator requesting help with this. Please feel free to comment there. I don't know how to do that, but you probably do. Thanks. DavidMCEddy (talk) 15:46, 29 August 2018 (UTC)
@DavidMCEddy: No, Phabricator is a place where I cannot post; I do not trust the conditions on the agreement I would have to sign off on to get an account there, and even if I did, afaict it's subject to arbitrary bans by a Foundation star-chamber so I wouldn't wish to say anything there. --Pi zero (talk) 17:39, 29 August 2018 (UTC)
Phabricator is for help with software developed by WMF. This is a content task and in my opinion we need to do it ourselves. (I'm working on task 10, after which I may move to another task such as this one.) Gryllida (chat) 20:33, 29 August 2018 (UTC)
Task 35: facilitate identification of emerging news
it's hard to seek local news, manual long laborious process
if news is identified quickly, it may have higher chances of publication before it becomes stale
We may need a news reader, with each news source associated with an area and a comment, which everyone can access and apply tags & date to each headline, perhaps with assistance of an AI tool.
a tool could ask the user to specify country, based on their country or their list of sources propose events they could write about (with the 'requested article' form already filled in, the person needs to read the sources and add a bit of description and click confirm)
can use emerging Facebook trends or Twitter moments for example
if country is specified this tool could suggest to the user which sources they could use (based on what the developer wrote or based on what other users use in this area)
This is an expansion of phase 1. In addition to its features, provide the following:
Task 1: Check plagiarism
needs testing and feedbackUser:Gryllida/js/plagiarismcheck-0.1.js Version 0.1 (2018-02-24) - initial release - adds an "Open DupDet" tab which provides links to dupdet results against the external links present in the article
Doing...User:Gryllida/js/addWikiLinks-0.1.js Version 0.1 (2018-03-11) adds wikilink buttons to wiki editor - link local, link wikipedia, link to an exact title match (auto-detect) - this needs a rewrite to somehow prefer adding {{W}} links over any other options
Done wizard to localify {{W}} links (for each link, choose whether to localify or not, and whether to add to respective category or not)
Context: Wikinews aims to publish free entertaining news without bias. Newcomers are pointed to Wikinews:Style guide and Wikinews:Content guide . This is a lot of information and they do not usually read it in full the first time. There are many tasks that are done manually and waste time, and many common mistakes.
Writing (first time)
mistake: newcomers do not realise the story needs to be recent (WN:Fresh -- event needs to have happened within last 2-3 days)
mistake: newcomers often do not recognise how inverted pyramid article structure works (WN:Inverted pyramid)
WN:5W -- 'the first paragraph should say what, when, where, why, how, rather than spreading essential information across the entire article'
new and essential content goes first; non-fresh background goes at the very end
this is to make it very easy for the reader to get fresh and essential information from the first paragraph or two
mistake: some newcomers often plagiarise
automated tool to detect and show plagiarism score?
this is easy to work around by copy/pasting and then rewording text -- hard to catch and undesirable; wastes reviewer time
tool to react to 'paste' event in a text area?
interfere with the paste?
surround the pasted text with quotation marks?
manual work: newcomers often do not add wikilinks, or add them in a wrong way
manual work: newcomers often do not know how to fill in the sources template
automatically generate it from URL?
hard to auto-detect author, date
Writing
manual task: open a few sources (preferably with JavaScript off; only the plain text is needed, not the whole page)
manual task: remember parts of sources relevant to the story
"A visual tool whereby a reviewer can colour-mark sections of an article as reviewed/unreviewed for each of the review criterion handled in EzPR. (Your lecturer/professor/reviewer/copyeditor making life hell by handing back a paper covered in red sharpie marks!)
This could show all text as inverse-video for unreviewed; colour changes of text/background then can be used to indicate the review points cleared on sections until the article is all black-on white, and review is complete.
manual task: for fact check, remember a lot of information from sources
highlight parts of sources relevant to the story? see highlight remarks above
manual task: add wikilinks (often time is wasted finding the right page name at English Wikipedia - open it in separate tab, type page name in the search box, etc)
manual task: edit the article without losing review comments
(current easy peer review tool doesn't allow this ...)
manual task: move article to user namespace
"A function to take an article which is never going to be published, and move it into the appropriate user's space (eg: User:Foo/The article title)This must (amongst other things) ensure the article is not included in most categories (templates which include categories generally have a |nocat=1 parameter available).The main driving factor behind this is increasing use of Wikinews as a publishing target for university journalism classes." https://www.mediawiki.org/wiki/User:Brian_McNeil/improved_Wikinews_workflow
manual task: review notification
"The ability to notify appropriate contributors of an articles failing (or indeed passing) reviewAt simplest, this could scan the history, list all contributors not reverted, not a reviewer of the article, and responsible for minimum of +x characters added/changed.The reviewer may then mark checkboxes and personalise a message for their talk. If the talk contains a section for the article, the comment is added to it." https://www.mediawiki.org/wiki/User:Brian_McNeil/improved_Wikinews_workflow
manual task: provide instructions to users; should be a way to do wizards
"A considerably more-sophisticated form handler than Extension:InputBox which can chain forms through a workflow.An example use of this would be re-making the Make Lead (ML) widget in a more-generic form, review leads at top-level (main page), possibly update those, then carry the just-reviewed article through to relevant topic and/or geographic portals where the leads could also be updated.Additionally,this would offer a basis for managing what is now, largely, handled by EzPR. " https://www.mediawiki.org/wiki/User:Brian_McNeil/improved_Wikinews_workflow