Page MenuHomePhabricator

Extension to make MediaWiki available offline
Closed, DuplicatePublic


Offline web app, at first glance, it sounds like a contradiction in terms. The idea is to develop an extension which will help users to view their wiki offline. This extension can also be used to improve an MediaWiki’s performance by storing data of user's choice in the cache or to make data persistent between user sessions and when reloading and restoring pages.

The extension will have following features:

  1. Offline reading capability of MediaWiki
  2. Syncing wiki offline

With the help of this extension below issues can be addressed:

  1. Offline MediaWiki search for NASA and Medicine
  2. Support facilitated offline editing in Global South communities
  • Primary Mentor: ?
  • Skills : HTML5, CSS, JavaScript and PHP

Event Timeline

Adishaporwal raised the priority of this task from to Needs Triage.
Adishaporwal updated the task description. (Show Details)
Adishaporwal added a subscriber: Adishaporwal.

Hi @Adishaporwal, this might be a duplicate task. See T106898#1665449.

The good news is that there is a need for this feature, so we might be able to offer it as a #Possible-tech-project indeed.

This is a message posted to all tasks under "Need Discussion" at Possible-Tech-Projects. Outreachy-Round-11 is around the corner. If you want to propose this task as a featured project idea, we need a clear plan with community support, and two mentors willing to support it.

This is a message sent to all Possible-Tech-Projects. The new round of Wikimedia Individual Engagement Grants is open until 29 Sep. For the first time, technical projects are within scope, thanks to the feedback received at Wikimania 2015, before, and after (T105414). If someone is interested in obtaining funds to push this task, this might be a good way.

Actually, I hadn't realized that you are talking about reading only, not editing. Well, reading is very well covered by , so I wonder whether it is worth considering other scenarios...

I think the use case is as follows:

  1. A user loads up wikipedia on their phone (the extension is mostly useful for mobile devices with unreliable network);
  2. Search a couple of pages and click a button to save them for offline reading
  3. When the internet is off they can load up wikipedia in the browser and navigate to the list of pages that were saved for offline reading and read them.

So I wonder if a new extension is needed. Maybe, it's best to add this feature to the MobileFrontend extension.

For what is worth, the Wikimedia app for Android already allows to save pages for offline reading. Kiwix for Android already does that as well, of course.

Just a word of caution offline on web is a tricky problem and I've attempted to do it via cache manifests/service workers over the last 2 years in Mediawiki itself/ extensions and failed every time. I think the important question for this project is what is the problem you are trying to solve. If it's to add an offline experience to in a few months, to be honest I don't think it has any chance of happening and I really want to see your Outreachy project succeed!

You may find it is better to make a standalone web app similar to Given that shows offline is possible it's important to ask what new problems you plan to address with your extension/app. From my perspective an offline editor would be awesome and it's something that is often requested during hackathons/Wikimanias. There are people out there that would love to be able to run editing workshops offline. You could even fork Jake's app to add that. This would be useful and contribute to the bigger task of making Wikipedia work offline. It may be useful to focus on how the UI would surface for offline usage. I'd recommend you pull in a designer though if this is something of interest.

Also focusing on an offline mode for Joaquin's web app which we are hoping to use as a rapid prototyping framework - - may be worth exploring as we're hoping to use this. See T113066 for our current roadmap, being able to add offline capabilities in some form at the end of this would be a great help.

See also T105175: Doing Cool Things with Wiki Content (and the Parsoid HTML5 DOM), where an offline web app for viewing article content was built in ~100 lines of code. It could be further improved, of course!

The summary of this report is incorrect. We already have an extension, DumpHTML, which would need to be fixed.

However, the thing to work on is Kiwix, not an extension. Please refer to . For further details, see the instructions there and/or write on offline-l.

I would be willing to mentor work on mw-ocg-zimwriter. Some initial microtasks might be to add support to mw-ocg-bundler for downloading stylesheets needed for a page, as described at .

IMPORTANT: This is a message posted to all tasks under "Need Discussion" at Possible-Tech-Projects. Wikimedia has been accepted as a mentor organization for GSoC '16. If you want to propose this task as a featured project idea, we need a clear plan with community support, and two mentors willing to support it.


We've built 3 prototypes to learn more about what will work best for readers who want to have access to content they find online later, when they might not be connected to the internet...

Yes, especially the prototype #1.

srishakatux added a subscriber: srishakatux.

Removing the Possible-Tech-Projects tag as we are planning to kill it soon! This project does not seem to fit in the Outreach-Programs-Projects category in its current state, so I am not adding that tag right now!

I would decline this extension request. If the point is to simplify the installation of requirements needed by Kiwix etc., that's more of a Parsoid project.

The "offline search" capability (1) is already served by Kiwix, while offline editing (2) is tracked in other tasks and is probably best developed within Kiwix (maybe with some offline HTML5 editor which would then save the edits through Parsoid). In any case it doesn't help to mix disparate requirements, while it can be productive to file specific requests for specific use cases (e.g. the requirements of a school or other group one is working with on the field).